web3_sha3
方法计算给定数据的Keccak-256哈希。尽管名称如此,此方法返回的是Keccak-256哈希,而非标准化的SHA3-256哈希。Keccak-256是以太坊中广泛用于各种加密操作的哈希算法。
此方法接受一个参数,即要哈希的数据,并返回该数据的Keccak-256哈希。
要哈希的十六进制格式数据
提供数据的Keccak-256哈希,以十六进制字符串表示
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x21276a0c70e3fde6a5a3627d2d2748bc945b7cfc86dbd4cf60f425ad5058d9b0"
}
输入数据必须以带有0x
前缀的十六进制字符串提供。输入可以是任意数据,包括以太坊地址、交易数据或原始字节。
例如,要哈希一个以太坊地址:
0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed
需要注意的是,此方法返回的是Keccak-256哈希,而非标准化的SHA3-256哈希:
以太坊在NIST标准化完成前就采用了Keccak-256,因此继续使用原始的Keccak算法而非切换到标准化的SHA3。
Keccak-256哈希函数在以太坊中被广泛使用:
transfer(address,uint256)
的Keccak-256哈希的前4个字节用于在交易数据中标识函数调用输入类型 | 输入(十六进制) | Keccak-256哈希 |
---|---|---|
以太坊地址 | 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed | 0x21276a0c70e3fde6a5a3627d2d2748bc945b7cfc86dbd4cf60f425ad5058d9b0 |
函数签名 | 0x095ea7b3 | 0xf2c0a300acb0c93fb0fdeceeac9b2c9b7f6c1413629bc2a8483bc3ca775e17ce |
空字符串 | 0x | 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 |
0x
前缀0x
前缀