哈希函数(例如 SHA)是否与平台无关?
Is a hash function (e.g. SHA) platform independent?
我需要比较来自不同平台的散列数据。使用的散列函数是Keccak的SHA3。
我一开始假设哈希生成的值是独立于平台的;但后来这两个在线工具向我证明了相反的情况:
这是我散列单词 data(sha3 256 位)时的相应输出:
- 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
- efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf
我在这方面的知识非常有限,但我一直想当然地认为散列函数是独立于平台的(这就是我们使用 MD5 校验和的原因,对吗?)。
任何有关该主题的信息都将不胜感激。
最佳。
是的,除了编码问题,哈希算法应该return到处都是相同的值。
如果您选择算法 Keccak-256
,您将获得相同的哈希值,我不确定它们用于 SHA3-256
:
截至 2015 年 8 月,FIPS 202 指定了 SHA-3(与 Keccak 截然不同)。
所有实施都应使用相同的输入产生相同的结果。
NIST CAVP Testing: Secure Hashing 页面提供了官方测试向量。
我需要比较来自不同平台的散列数据。使用的散列函数是Keccak的SHA3。
我一开始假设哈希生成的值是独立于平台的;但后来这两个在线工具向我证明了相反的情况:
这是我散列单词 data(sha3 256 位)时的相应输出:
- 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
- efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf
我在这方面的知识非常有限,但我一直想当然地认为散列函数是独立于平台的(这就是我们使用 MD5 校验和的原因,对吗?)。
任何有关该主题的信息都将不胜感激。
最佳。
是的,除了编码问题,哈希算法应该return到处都是相同的值。
如果您选择算法 Keccak-256
,您将获得相同的哈希值,我不确定它们用于 SHA3-256
:
截至 2015 年 8 月,FIPS 202 指定了 SHA-3(与 Keccak 截然不同)。
所有实施都应使用相同的输入产生相同的结果。
NIST CAVP Testing: Secure Hashing 页面提供了官方测试向量。