md5sum 散列值计算

日常开发中经常需要我们计算一段数据或文件的MD5值,网络上有很多网页版的在线工具能实现该功能,但实际上Linux中已经自带了包括MD5、SHA等各种散列算法计算的命令行工具了,直接在命令行中使用这些工具更加方便快捷。

计算MD5值

计算字符串Hello, world!的MD5值:

echo -n 'Hello, world!' | md5sum

输出:

6cd3556deb0da54bca060b4c39479839  -

输出内容中,前面是MD5计算结果,后面的短横线-表示该值的源数据来自标准输入。

计算文件1.txt中内容的MD5值:

md5sum 1.txt

输出:

6cd3556deb0da54bca060b4c39479839  1.txt

输出内容中,前面是MD5计算结果,后面是MD5来自的文件名。

文件MD5校验

假设我们有一个image.jpg,我们要将该文件通过网络发送给朋友,但为了确保他收到的文件没有损坏,我们可以随着该文件再附带一个MD5计算结果文件。

md5sum image.jpg > image.md5

对方收到image.jpgimage.md5文件后,可以直接运行以下命令进行校验:

md5sum -c image.md5

注:md5sum工具输出内容中有文件名,因此md5sum -c运行时工具可以根据此文件名找到文件。

如果输出image.jpg: OK则代表校验成功,如果校验失败则可能产生如下输出:

image.jpg: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

此外,md5sum也支持多个文件计算MD5值和验证,我们可以使用类似md5sum file1.txt file2.txt file3.txt > files.md5的形式为多个文件生成MD5值并记录到文件中,使用md5sum -c验证文件则和之前相同。

计算其它散列值

对于SHA1、SHA224、SHA256、SHA384等,也都有对应的sha1sumsha224sumsha256sumsha384sum命令,用法和md5sum一致。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap