- Solidity 教程
- Solidity - 首頁
- Solidity - 概述
- Solidity - 環境搭建
- Solidity - 基本語法
- Solidity - 第一個應用
- Solidity - 註釋
- Solidity - 資料型別
- Solidity - 變數
- Solidity - 變數作用域
- Solidity - 運算子
- Solidity - 迴圈
- Solidity - 決策語句
- Solidity - 字串
- Solidity - 陣列
- Solidity - 列舉
- Solidity - 結構體
- Solidity - 對映
- Solidity - 型別轉換
- Solidity - 以太坊單位
- Solidity - 特殊變數
- Solidity - 樣式指南
- Solidity 函式
- Solidity - 函式
- Solidity - 函式修飾符
- Solidity - View 函式
- Solidity - Pure 函式
- Solidity - 回退函式
- 函式過載
- 數學函式
- 密碼學函式
- Solidity 常用模式
- Solidity - 提款模式
- Solidity - 受限訪問
- Solidity 高階
- Solidity - 合約
- Solidity - 繼承
- Solidity - 建構函式
- Solidity - 抽象合約
- Solidity - 介面
- Solidity - 庫
- Solidity - 彙編
- Solidity - 事件
- Solidity - 錯誤處理
- Solidity 有用資源
- Solidity - 快速指南
- Solidity - 有用資源
- Solidity - 討論
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
廣告