Linux系统递归生成目录中文件的md5的方法

2016-03-31 15:28 33 1 收藏

下面图老师小编跟大家分享一个简单易学的Linux系统递归生成目录中文件的md5的方法教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - 服务器 】

Linux系统递归生成目录中文件的md5的方法

   这篇文章主要介绍了Linux系统递归生成目录中文件的md5的方法,利用PHP脚本实现,需要的朋友可以参考下

  linux下使用md5sum递归生成整个目录的md5

  今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下

  代码:

  ?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/) 123456789101112131415161718192021222324252627282930313233343536373839404142434445 ?php $path ='/data/www/bbs/source';$outfile = 'file.md5';get_file_md5($path, $outfile); function get_file_md5($path, $outfile){$path = rtrim($path, '/');if(function_exists('scandir')){$files = scandir($path);foreach($files as $v){if($v != '.' && $v != '..'){$file = $path.'/'.$v;if(is_dir($file)){get_file_md5($file, $outfile);}else{file_put_contents($outfile, md5_file($file)." ".$file."n", FILE_APPEND);}}}}else{$files = opendir($path);while(($f = readdir($files)) !== false){if($f == '.' || $f == '..')continue;$file = $path.'/'.$f;if(is_dir($file)){get_file_md5($file, $outfile);}else{file_put_contents($outfile, md5_file($file)." ".$file."n", FILE_APPEND);}}closedir($files);}}

  注意:生成的md5值和文件之间是两个空格,否则导致错误如下

  代码如下:

  md5sum: file1.md5: no properly formatted MD5 checksum lines found

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/)

  在来个更简单的,使用linux的find命令一句搞定

  代码:

  ?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/) 1 find /data/www/bbs/source -type f -print0 | xargs -0 md5sum file2.md5

  测试

  ?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/) 12 md5sum -c file1.md5md5sum -c file2.md5

  如图所示

201562992931727.png (1135×790)

  这样把所有检测结果输出到屏幕上来了,如果最后一条显示这样的信息 md5sum: WARNING: 2 of 1147 computed checksums did NOT match 则说明在总共1147条中有2条是不符合的

  然后我们可以

  ?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/fuwuqi/) 1 md5sum -c file1.md5 | grep FAILED

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

来源:https://www.tulaoshi.com/n/20160331/2050583.html

延伸阅读
标签: Web开发
其实在ASP.Net编程中,不用调用md5.asp来加密数据。在DotNet中有自带的类:System.Web.Security.HashPasswordForStoringInConfigFile() public string md5(string str,int code) { if(code==16) //16位MD5加密(取32位加密的9~25字符) { return System.Web.Security.FormsAuthentication.HashPasswordForStorin...
标签: Web开发
应网友的要求,做了个用MD5加密用户密码的示例,现在示例放上来,高手就不用看了 , 比较简单,就不做说明了,看代码就明白了。数据库在DataBase目录里,附加进去就好了,修改 web.config 里的数据库连接: appSettings   !--数据库连接--   add key="MD5" value="server=jiang;uid=sa;pwd=;database=MD5" / ...
<script language="JavaScript" <!-- /********************************************************** * md5.js * * A JavaScript implementation of the RSA Data Security, Inc. MD5 * Message-Digest Algorithm. * * Copyright (C) Paul Johnston 1999. Distributed under the LGPL. ***********************************************...
标签: Web开发
源码 /**  * 类名:      MD5Digestbr  * 说明:   用来进行密码加密的md5公用参数br  * 编写日期:  2001/03/05br  * 修改者:    br  * 修改信息:  br  * @author     edgarlo edgarlo@c...
先看看代码再说: 代码如下: package com.b510.note;  import java.math.BigInteger;  import java.security.MessageDigest;  import java.security.NoSuchAlgorithmException;  /**   * MD5加密   *   * @author Hongten   *   */  public class MD5 {      pub...

经验教程

383

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部