如何计算校验和的合理位数?

时间:2011-03-22 23:48:01

标签: hash probability checksum sha

我有大约1500字节的数据,我想构建一个校验和,这样如果数据被破坏,校验和仍然匹配数据的机会小于10 ^ 15中的1,即足够低的概率我可以对待它,因为它永远不会发生。

问题是我应该计算多少位?我有一个sha-160计算,给我160位哈希的数据,但我希望这比必要的大。所以我认为我可以截断结果哈希值来说低40位并将其用作足够大的位模式,如果数据被破坏,我很可能会检测到它。

所以问题是两个问题,有多少比特是足够好的并且采用sha-160哈希的低位是一个很好的方法?

1 个答案:

答案 0 :(得分:2)

您可以使用表here来确定所需错误检测率所需的大约位数。