![](https://img-blog.csdnimg.cn/img_convert/be1400e6a8844cf3ce37ddb4dc417a5a.png)
相信大家对md5都不陌生,开发过程中经常会用到,比较常用的一个场景是防止信息传输过程中被篡改,比如一个文件F,从A传到B,在A点时生成一个md5,文件到B点时,在生成一个md5,对比这俩个md5的值是否一致,如果一致,说明传输过程中,文件没有被篡改过。
再比如说利用md5来实现幂等性,何为幂等性,用户发起的一次或者多次请求,得到的结果是一致的。比如 在没有修改数据的情况下,每次执行select * from test where id = 1; 每次得到的结果都是一样的。查询操作,是没有影响,但是对于新增,则会产生重复数据。当新增时,我们保留请求的md5值,下一个请求过来时,对比他们的md5,如果一致,则认为重复。
下面我们说下Linux 下,获取md5 的几种方式
单文件比较容易,cd 到文件目录下 执行 md5sum test_bak.tar, 就会得到test_bak.tar文件对应的md5。
![](https://img-blog.csdnimg.cn/img_convert/45dc88e3f5ddbd8dd86782d76569566c.png)
如果获取多文件夹下多个文件的md5可采用以下方法,可以先看下文件目录,在opt目录下有文件夹以及测试文件。文件夹下也有测试文件。我们要取opt目录下所有文件的md5.
![](https://img-blog.csdnimg.cn/img_convert/e279d654199de38485eeb465a2e0985d.png)
sudo find ./ -type f -print0 | xargs -0 md5sum
![](https://img-blog.csdnimg.cn/img_convert/bea1c0b528586fb47dcec366839f6635.png)
或者
sudo find -type f -exec md5sum {} \;
![](https://img-blog.csdnimg.cn/img_convert/36d73294058a6b17d5ac91d0a99c9ee0.png)
下一篇我们来简单说下 上面的几个命令