哈希函数(例如SHA)平台是否独立?

时间:2015-07-03 10:11:52

标签: hash cryptography md5 sha-3 keccak

我需要比较来自不同平台的散列数据。使用的哈希函数是Keccak的SHA3。

我首先假设哈希生成的值与平台无关;但后来这两个在线工具证明了我的反面:

当我将单词数据(sha3 256bits)散列时,这是相应的输出:

  • 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
  • efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf

我对这个主题的了解非常有限,但我一直认为哈希函数是平台无关的(这就是我们使用MD5校验和的原因,对吧?)。

对此主题的任何启发都将受到高度赞赏。

最佳。

2 个答案:

答案 0 :(得分:1)

是的,哈希算法应该在任何地方返回相同的值,除了编码问题。

如果您选择算法Keccak-256,您将获得相同的哈希值,我不确定它们用于SHA3-256的内容:

http://emn178.github.io/online-tools/keccak_256.html

答案 1 :(得分:0)

截至2015年8月,FIPS 202中指定了SHA-3(特别是与Keccak截然不同)。

所有实现都应使用相同的输入生成相同的结果。

官方测试向量可在NIST CAVP Testing: Secure Hashing页面上找到。