📜  Solidity-加密功能

📅  最后修改于: 2020-11-04 04:27:50             🧑  作者: Mango


 

Solidity还提供内置的加密功能。以下是重要的方法-

  • keccak256(字节内存)返回值(bytes32) -计算输入的Keccak-256哈希值。
  • sha256(字节内存)返回(bytes32) -计算输入的SHA-256哈希值。
  • maturemd160(字节内存)返回(字节20) -计算输入的RIPEMD-160哈希值。
  • sha256(字节内存)返回(bytes32) -计算输入的SHA-256哈希值。
  • ecrecover(bytes32 hash,uint8 v,bytes32 r,bytes32 s)返回(地址) -从椭圆曲线签名中恢复与公钥关联的地址,或者在错误时返回零。函数参数对应于签名的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 Application一章中提供的步骤运行上述程序。

输出

0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8