Cryptographic functions can be used in contracts to calculate the sha256 and keccak256 hashes. The ecrecover function is used to verify that the hashes are signed by a specific address's private key:
- keccak256(bytes memory) returns (bytes32): This is also called Ethereum SHA3. This computes the Ethereum-SHA-3 (Keccak-256) hash of the tightly packed arguments and returns it as bytes32.
- sha256(bytes memory) returns (bytes32): This computes the SHA-256 hash of the input bytes and returns it as bytes32.
- ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address): Recovers the address associated with the public key from an elliptic curve signature or returns 0 on error.
When using ecrecover always check for ...