1

基本上,我正在跟踪文件修改,例如:

array (
    'crc-of-file' => 'latest-file-contents'
)

这是因为我同时在运行时处理不同文件的文件内容。

所以,问题是,我应该对文件内容使用什么散列算法(作为一个字符串,因为文件正在被加载)?

碰撞预防和性能一样至关重要。到目前为止,我没有看到任何安全隐患。

编辑:我可以用来代替散列内容的另一件事是文件修改时间戳,但我不确定它有多可靠。另一方面,我认为监视所述标记比每次散列文件更快。

4

1 回答 1

0

CRC 它不是散列算法,是校验和算法,因此您发生冲突的机会将非常高。

md5速度非常快,并且对于您的应用程序/体积而言,碰撞风险相当小。如果您正在缓冲文件,您可能还想查看使用扩展的增量哈希。hash

有点复杂,但也值得一看(如果你有的话)是Inotify扩展名

于 2012-04-27T02:01:51.607 回答