诗和远方

md5算法检测文件的完整性

MD5全称是报文摘要算法(Message-Digest Algorithm5)

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。

此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。


在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。


1.生成报文摘要

md5sum myfile > myfile.md5 # 把一个文件的报文摘要输出到一个md5文件中
md5sum my* # 同时生成多个文件的报文摘要


2.使用md5报文摘要验证文件:

把文件和该文件的file.md5文件放在同一个目录下进行验证:

md5sum -c my.md5

如果验证成功,输出:my1: 确定

如果验证失败,输出:

my1: 失败

md5sum: 警告:1/1 生成的校验和不匹配


3.查看一个字符串的md5值

echo "123" | md5sum


4.对文件夹里文件整体操作

find ./mm -type f -name "*" -exec md5sum {} \;
find ./mm -type f -name "*" -exec md5sum {} \;| sort # 查看重复文件 并排序


用例:

查看挂载的文件完整性,比如U盘。

sprintf(cmd,"cd %s; md5sum -c check.md5 | grep \"%s: OK\"",mount_file,find_name);
ret = system(cmd);

注意:

1.分号后面马上接命令,因为在挂载中运行完命令后操作点会回到最初的地方。

2.grep命令中后面要查找的文件用双引号,引号中有引号,使用转义字符“\”。

3.md5sum检测文件的输出格式是filename: OK(文件名后冒号,空一格后接OK)。

Related
/var/log目录下的Linux日志文件功能2019年06月24日
索引节点inode2019年06月21日
Shell脚本实例2019年06月20日
GCC编译C程序2019年06月18日
Linux内核编译/内核数据结构/同步机制/信号量2019年06月14日
shell中的算术运算2019年06月14日
iptables2019年06月14日
7 个致命的 Linux 命令2019年06月14日

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Catalog
标签列表
最新
最热
常用网站
站点信息
  • 文章总数:1996
  • 页面总数:1
  • 分类总数:17
  • 标签总数:515
  • 评论总数:0
  • 浏览总数:519194
Archives
Copyright © 2017-2019 www.my889.com Some Rights Reserved.
推荐使用 Chrome 浏览器浏览本站
沪ICP备17052342号
Sitemap XML