如何检查一堆文件的完整性?

时间:2015-06-12 12:58:51

标签: php integer integrity

我需要一种合理的方法来使用PHP来检查特定服务器上目录下的大量文件的完整性(大数这意味着6000及更多)。

基本上,我想知道他们是否被改变了。我提出的解决方案是计算所有文件的哈希值,如下所示:

$accnum = 1;
$modulo = PHP_INT_MAX >> 5;
foreach ($files as $file) {
  $crc32 = crc32(md5_file($file));
  $accnum = ($accnum % $modulo) * 31 + $crc32;
}
$hash = md5($accnum);

然后我将哈希记录在入侵者无法到达的地方。

然后,为了检查篡改,我重新计算哈希并将其与记录值进行比较。如果不同,我知道至少有一个文件已被更改。

问题:
- 这是一种合理的方法吗?
- 如果没有,我如何监控大量文件的完整性?

1 个答案:

答案 0 :(得分:-1)

为什么不使用Git呢?保留一个远程存储库,让您的“入侵者”无法访问,并观察本地更改或将您的代码与远程仓库进行比较。