在阅读GNU Core Utilities - Wikipedia后,我发现多个总和
me@alpha:~$ cksum nohup.out
4104911401 101860700 nohup.out
me@alpha:~$ b2sum nohup.out
468c86394c5c4be04d0bce3b98584197b0c3f4cbb630144818f9d77d48ab7296e4c53db481b6bdd7c46dd5203d3f016d9ef01b126806e04be5003aeebb1bc6
22 nohup.out
me@alpha:~$ sum nohup.out
37767 99474
me@alpha:~$ sha1sum nohup.out
79106925d593e18bd148ba94a6e4fb9da02e8c47 nohup.out
me@alpha:~$ md5sum nohup.out
3be4b17f18e4715d849a31ae482565cf nohup.out
我几个月前开始学习linux,我是否必须区分它们并在日常操作中使用它们?
不,不是。您发现的是用于计算哈希和的实用程序,用于文件验证等目的。
例如,当您下载 Ubuntu ISO 时,您通常会找到一个包含校验和的文件,您可以对其进行验证。您下载文件并运行
sha256sum filename
(或者md5sum
如果它包含 md5 校验和,但 SHA256优于md5),并将其与发布的校验和进行比较。它还允许您验证文件是否未更改,而无需存储完整文件的副本。这由文件验证工具使用,例如
tripwire
.通常,在您发现需要它们之前,不要担心这些实用程序。
您发现的校验和命令最常用于验证数据完整性和跟踪信息。就好像您解决了一个数学问题,然后查看书末的答案以确保您的解决方案是正确的。
最常见的示例是,当您下载软件或 Ubuntu.iso 映像时,您会看到这样的文件(18.04 版本的 SHA256SUM 文件示例):
下载
ubuntu-18.04.1-server-arm64.iso
文件时,您要确保文件下载正常,没有人在网络中间篡改,或者下载的文件损坏。因此,当你这样做如果文件正常,您将知道正确的方法。至于不同的类型,对于安全应用来说,拥有
sha256
或越强sha512
越好,因为攻击者无法破解它。哈希是单向函数。输入产生哈希,但不是相反。因此,出于安全原因,最好不要将密码存储在服务器上——只存储哈希值。当攻击者从服务器窃取信息时,他们应该只有密码的哈希值,而不是密码本身。现在,MD5 和 SHA1 等哈希值已被破解,攻击者可以破解它们以找到原始密码。因此您不必记住它们,但最好知道应用程序是否使用了强哈希,例如 SHA256 或 SHA512