0

hiii,我有一个问题,如果我计算一个 sha256 哈希的 crc 以获得一个 64 位的字符,我会发生冲突吗?反向功能是否安全?谢谢

4

1 回答 1

0

伊纳克。

我真的不明白“我会发生冲突”是什么意思 - 64 位当然不能代表 256 位,所以是的,非常非常多的可能的 sha256 散列可以崩溃到相同的 64 位 CRC。

如果您只是想要一个较短的哈希值,我建议您折叠,例如通过 xor: 将哈希中的每个连续字节相互连接。或者通过 xor: 将 256 位字符串的前半部分与后半部分进行异或运算以产生 128 位值,然后再将结果的前半部分与结果的后半部分进行异或运算以产生 64 位值。

当然,这个 64 位值也永远无法表示 256 位散列的所有可能值,但不可能从这个值开始计算原始 256 位散列的冲突。

于 2013-06-14T03:43:34.617 回答