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 第一個應用章節中提供的步驟執行以上程式。

輸出

0: bytes32: result 0xe1629b9dda060bb30c7908346f6af189c16773fa148d3366701fbaa35d54f3c8
廣告

© . All rights reserved.