Sha1sum,Sha256sum和Md5sum之间的差异


Answers:


8

如果您查看每一个的手册页,就会看到他们说:

md5sum - compute and check MD5 message digest

sha1sum - compute and check SHA1 message digest

sha256sum - compute and check SHA256 message digest

这告诉您它们都创建了一个消息摘要,这是一个单向函数,将任意大小的数据作为其参数,并返回固定大小的哈希。哈希被认为是不可能的(在实用范围内),无法反向查找具有相同哈希的两个不同消息(称为冲突)。

两者之间的区别在于用于生成此哈希的算法。

MD5于1990年代初发明,至今被认为是有缺陷和过时的。

SHA1也在1990年代初期开发。它被认为比MD5强,但不够强。目前,它的使用已从X.509数字证书上的数字签名中撤回。

SHA256是当前推荐的哈希函数。

除非有理由使用较弱的算法,否则SHA256是必经之路。

要创建文本文件,只需将输出重定向到该文件。例如,如果您有一个Ubuntu ISO映像,则要哈希:

 md5sum Ubuntu.iso > md5sum.txt

当然,这也适用于其他变体。

然后,您可以(例如)通过Internet分发该文件,收件人可以使用以下方法再次检查哈希:

md5sum Ubuntu.iso

这将打印MD5哈希,收件人可以将其与md5sum.txt您将发布的文件的内容进行比较。如果它们相同,则文件未被篡改。

当然,使用sha256sum比会更好md5sum。你经常会发现选择这些散列发表的(md5sum.txtsha1sum.txt和/或sha256sum.txt)与ISO允许的是,有些系统可能不具有所有这些工具。


1

MD5,SHA-1和SHA-256是不同的哈希函数(摘要)。它们在算法和输出大小上都不同。

如果检查大文件,则可以避免多次读取文件,从而加快了处理速度。一般的方法是

mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'

但是,在这种情况下它更简单,因为有一个程序可以同时计算多个摘要:

gpg --print-mds input

gpg的使用非常出色,但是如何使用它比较不同的文件?
Herman Toothrot,

1
@ user4050您可以使用anf gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2然后将其digest.1digest.2
Hauke Laging'1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.