参考链接
Linux计算MD5和Sha1的命令
关于哈希(散列)函数你应该知道的东西 | Linux 中国

MD5

MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

Sha1

安全散列算法(英语:Secure Hash Algorithm)是一种能计算出一个数位讯息所对应到的,长度固定的字串(又称讯息摘要)的算法。且若输入的讯息不同,它们对应到不同字串的机率很高;而SHA是FIPS所认证的五种安全散列算法。这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述):“1)由讯息摘要反推原输入讯息,从计算理论上来说是很困难的。2)想要找到两组不同的讯息对应到相同的讯息摘要,从计算理论上来说也是很困难的。任何对输入讯息的变动,都有很高的机率导致其产生的讯息摘要迥异。


MD5 与 SHA1 是当前最常用的两种哈希算法。那在Linux下如何计算这两种哈希值呢,基本上所有的 Linux 发行版都内置了这两个命令,比如要校检的文件命为OurUnix.tar:

计算文件的 MD5 – md5sum

-b或--binary: 把输入文件作为二进制文件看待。
-t或--text: 把输入的文件作为文本文件看待(默认)。
-c或--check: 用来从文件中读取md5信息检查文件的一致性。(不细说了参见info)
--status: 这个选项和check一起使用,在check的时候,不输出,而是根据返回值表示检查结果。
-w或--warn: 在check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。

计算文件的 SHA1 – sha1sum

sha1sum

sha1sum对文件进行唯一较验的hash算法,

用法: sha1sum [OPTION] [FILE]...

参数:

  -b, --binary            二进制模式读取
  -c, --check             根据sha1 num检查文件
  -t, --text              文本模式读取(默认)


SHA家族安全散列算法

SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的散列函数)的后继者。但SHA-1的安全性如今被密码学家严重质疑;虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的散列算法。


universe_king
3.4k 声望677 粉丝