Solidity - 加密函数
Solidity 还提供内置的加密函数。 以下是重要的方法 −
keccak256(bytes memory) returns (bytes32) − 计算输入的 Keccak-256 哈希值。
ripemd160(bytes memory) returns (bytes20) − 计算输入的 RIPEMD-160 哈希值。
sha256(bytes memory) returns (bytes32) − 计算输入的 SHA-256 哈希值。
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address) − 从椭圆曲线签名中恢复与公钥关联的地址或在错误时返回零。 函数参数对应于签名的 ECDSA 值: r - 签名的前 32 个字节; s:签名的第二个32字节; v:签名的最后 1 个字节。 该方法返回一个地址。
以下示例展示了 Solidity 中加密函数的用法。
示例
pragma solidity ^0.5.0; contract Test { function callKeccak256() public pure returns(bytes32 result){ return keccak256("ABC"); } }
使用 Solidity First 应用 章节中提供的步骤运行上述程序。
输出
0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8