【发布时间】:2012-01-01 17:58:16
【问题描述】:
我希望能够通过 PHP 定期验证大量文件(几 TB)。安全性不是问题,冲突也不是特别大的问题,因为它也会影响文件大小。主要目标是使用尽可能少的 CPU 快速生成哈希。
我目前的候选人是 md5_file() 但想知道是否有另一种更有效的方法?
【问题讨论】:
-
你可能受到磁盘IO的限制,所以我猜算法选择无关紧要......(虽然我没有检查过!)
我希望能够通过 PHP 定期验证大量文件(几 TB)。安全性不是问题,冲突也不是特别大的问题,因为它也会影响文件大小。主要目标是使用尽可能少的 CPU 快速生成哈希。
我目前的候选人是 md5_file() 但想知道是否有另一种更有效的方法?
【问题讨论】:
如果效率是一个问题而安全性不是问题,那么简单地对文件进行二进制 XOR 怎么样?更快。
【讨论】:
md5_file 是不是一个明智的实现...
不要将 PHP 用于此类事情。使用Tripwire等专用工具。
【讨论】:
我认为 sha1 可能是你最好的选择,在 php 中你会使用 sha1_file
【讨论】: