哈希函数(例如 SHA)是否与平台无关?

Is a hash function (e.g. SHA) platform independent?

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

我一开始假设哈希生成的值是独立于平台的;但后来这两个在线工具向我证明了相反的情况:

这是我散列单词 data(sha3 256 位)时的相应输出:

我在这方面的知识非常有限,但我一直想当然地认为散列函数是独立于平台的(这就是我们使用 MD5 校验和的原因,对吗?)。

任何有关该主题的信息都将不胜感激。

最佳。

是的,除了编码问题,哈希算法应该return到处都是相同的值。

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

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

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

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

NIST CAVP Testing: Secure Hashing 页面提供了官方测试向量。