两个数据块可能产生相同CRC64值的可能性有多大?

Mat*_*att 5 crc crc64

我有一个缓存应用程序,它使用CRC64值来确保数据完整性.我正在考虑添加一个额外的字段,一个时间戳来传递各种缓存服务器之间的数据,并进行比较以查看数据是否已更改.

但是,这需要协议更改.虽然这不是什么大不了的事,但我已经有了一个CRC64可以用作指示某些事情发生了变化.

有谁知道产生相同CRC64的两个数据块周围的统计数据?如果没有,我怎么能计算它或估计它的可能性?

sar*_*old 6

如果你认为crc64是'完美',那么这些数字是非常合理的:

对于1%的碰撞概率,您需要6.1×10 ^ 8个条目.对于50%的碰撞概率,您需要5.1×10 ^ 9个条目.

当然,如果数据可能是由恶意源提供的,那么可以很容易地生成像crc64这样简单的哈希冲突,并且冲突可能会很频繁.因此,您是否走这条路线取决于输入数据的来源和碰撞的潜在后果.