我正在使用哪个哈希函数?
如何判断你使用的软件库是FIPS-202 SHA-3还是Keccak-256(如果两者都可能被称为“SHA3”)?
一个简单的方法是使用_test vector_,一个给定输入的预期输出。最常用于哈希函数的测试是_empty input_。如果你使用空字符串作为输入运行哈希函数,你应该看到以下结果:
Testing whether the SHA3 library you are using is Keccak-256 of FIP-202 SHA-3
Keccak256("") =
c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
SHA3("") =
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
因此,无论调用什么函数,都可以通过运行上面的简单测试来测试它是否是原始的Keccak-256或最终的NIST标准FIPS-202 SHA-3。请记住,以太坊使用Keccak-256,尽管它在代码中通常被称为SHA-3。
接下来,让我们来看一下Ethereum中Keccak-256的第一个应用,即从公钥生成以太坊地址。
当前内容版权归 inoutcode 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 inoutcode 译 .