我试图弄清楚使用32位CRC是否会在32字节数组上产生冲突。
背景
每当从外部闪存启动时,我的系统都会读取一些配置。我存储了最后一个已知配置的SHA256哈希,每当我读取该配置时,我都会计算SHA256哈希并将其进行比较。如果两个哈希不同,则数据也不同。
我需要将SHA256放入系统另一部分的32位哈希中(由于某些遗留代码限制)。
问题
如果我对SHA256的32字节散列计算32位CRC,会发生大量冲突吗?
我计算出碰撞的概率为0。您能告诉我这是否正确吗?
在我的问题中,样本K
的数量始终为2(我认为),因为我正在对两个32字节字节数组(SHA256字节数组)计算32位CRC。
答案 0 :(得分:1)
是正确的,如果用“ 0”表示这个数字很小。这个很小的数字表示您可能会从随机数据中意外获得所需的随机数据,从而获得32位CRC。就是2 -32 。