宝哥软件园

Linux系统递归生成目录中文件的讯息摘要5的方法

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

Linux操作系统操作系统下使用md5sum递归生成整个目录的讯息摘要5今天要用md5sum操作目录,递归生成目录下所有文件的讯息摘要5值,结果发现它不支持递归操作于是写了个服务器端编程语言(专业超文本预处理器的缩写)脚本处理下代码:

?PHP $ path='/data/www/BBS/source ';$ outfile=' file . MD5 get _ file _ MD5($ path,$ outfile);函数get_file_md5($path,$outfile) { $path=rtrim($path,'/');if(function _ exists(' scandir '){ $ files=scandir($ path);foreach($ file as $ v){ if($ v!='.$v!='.){ $file=$path .'/'.五美元;if(is _ dir($ file)){ get _ file _ MD5($ file,$ outfile);} else { file _ put _ contents($ outfile,md5_file($file). '。$文件“n”,FILE _ APPEND);} } } } else { $ files=opendir($ path);while(($f=readdir($files))!==false) { if($f==' . '|| $f==' . ')继续;$文件=$路径.'/'.$ f;if(is _ dir($ file)){ get _ file _ MD5($ file,$ outfile);} else { file _ put _ contents($ outfile,md5_file($file).' '.$文件“n”,FILE _ APPEND);} } closedir($ files);} } 注意:生成的讯息摘要5值和文件之间是两个空格,否则导致错误如下

复制代码代码如下:md5sum:文件1.md5:未找到格式正确的讯息摘要5校验和行

在来个更简单的,使用Linux操作系统操作系统的发现命令一句搞定代码:

find/data/www/BBS/source-type f-print 0 | xargs-0 MD5 sum文件2。讯息摘要5测试

md5sum -c文件1.md5 md5sum -c文件2.md5如图所示

201562992931727.png  (1135790)

这样把所有检测结果输出到屏幕上来了,如果最后一条显示这样的信息md5sum:警告1147个计算校验和中的:个2不匹配则说明在总共1147条中有2条是不符合的然后我们可以

md5sum -c文件1.md5 | grep FAILED

就很容易知道是哪些文件的篡改过

更多资讯
游戏推荐
更多+