In this question the OP is running into a warning upon using the keccak256 function in Solidity:
Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
uint256 _unixTimestamp;
uint256 _timeExpired;
bytes32 output = keccak256(msg.sender, _unixTimestamp, _timeExpired);
What is the rationale behind this error - why do I need to use abi.encodePacked and what does it do in comparison to using it just like shown above?