Php 数据索引(即crc)的最佳哈希算法

Php 数据索引(即crc)的最佳哈希算法,php,file,hash,Php,File,Hash,基本上,我一直在跟踪文件修改,比如: array ( 'crc-of-file' => 'latest-file-contents' ) 这是因为我在运行时同时处理不同文件的文件内容 所以,问题是,我应该对文件内容使用什么哈希算法(作为字符串,因为文件正在加载) 碰撞预防和性能都至关重要。到目前为止,我没有看到任何安全隐患 编辑:另一个我可以用来代替哈希内容的东西是文件修改时间戳,但我不确定它有多可靠。另一方面,我认为监视上述标记比每次对文件进行哈希运算要快。CRC它不是哈希算法

基本上,我一直在跟踪文件修改,比如:

array (
    'crc-of-file' => 'latest-file-contents'
)
这是因为我在运行时同时处理不同文件的文件内容

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

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


编辑:另一个我可以用来代替哈希内容的东西是文件修改时间戳,但我不确定它有多可靠。另一方面,我认为监视上述标记比每次对文件进行哈希运算要快。

CRC它不是哈希算法,而是校验和算法,因此发生冲突的可能性非常高

md5
速度非常快,对于您的应用程序/卷而言,冲突风险非常小。如果您正在缓冲文件,您可能还希望查看使用
哈希
扩展名


稍微复杂一点,但也值得一看(如果您有)的是。

CRC被认为是一种散列函数,请参见此处:在我的情况下,Inotify无法工作。经过一番思考,我认为我会尽可能地选择“修改时间”路线,如果不可能,则完全删除该功能。