
- 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
广告