Sha1sum
此條目包含過多行話或專業術語,可能需要簡化或提出進一步解釋。 (2021年10月28日) |
sha1sum是一个计算和验证SHA-1哈希值的计算机程序。它通常用于验证文件的完整性。它(或一个变体)默认安装在大多数Linux 发行版上。 sha1sum
一起分布的是sha224sum ,sha256sum ,sha384sum和sha512sum ,它使用特定的SHA-2哈希函数。
SHA-1 变体被证明容易受到碰撞攻击,用户应该改用,例如,SHA-2 变体,如sha256sum以防止被对手篡改。 [1] [2]
它包含在GNU Core Utilities 、 [3] Busybox 、 [4]和Toybox 中。 [5]可以使用各种系统的端口,包括 Microsoft Windows。
例子
要创建一个包含 SHA-1 哈希的文件(如果未提供):
$ sha1sum filename [filename2] ... > SHA1SUM
如果分发一个文件,则.sha1文件扩展名可以附加到文件名,例如:
$ sha1sum --binary my-zip.tar.gz > my-zip.tar.gz.sha1
输出包含格式为“ {hash} SPACE (ASTERISK|SPACE) [{directory} SLASH] {filename}
”的每个文件一行。 (注意,如果哈希摘要创建是在文本模式而不是二进制模式下执行的,那么将有两个空格字符而不是单个空格字符和一个星号。 ) 例如:
$ sha1sum -b my-zip.tar.gz
d5db29cd03a2ed055086cef9c31c252b4587d6d0 *my-zip.tar.gz
$ sha1sum -b subdir/filename2
55086cef9c87d6d031cd5db29cd03a2ed0252b45 *subdir/filename2
要验证文件是否已正确下载或未被篡改:
$ sha1sum -c SHA1SUM
filename: OK
filename2: OK
$ sha1sum -c my-zip.tar.gz.sha1
my-zip.tar.gz: OK
哈希文件树
sha1sum 只能创建一个目录中一个或多个文件的校验和,而不能创建目录树的校验和,即子目录、子子目录等及其包含的文件。 这可以通过将 sha1sum 与带有 -exec 选项的 find 命令结合使用,或通过管道将 find 的输出输入 xargs 来实现。 sha1deep 可以创建目录树的校验和。
使用sha1sum与find:
$ find s_* -type f -exec sha1sum '{}' \;
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
同样,从管道输出findxargs产生相同的输出:
$ find s_* -type f | xargs sha1sum
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
相关软件
- shasum是一个Perl程序,用于计算任何 SHA-1、224、256、384、512 哈希值。 [6]它是ActivePerl发行版的一部分。
- sha3sum是一个类似名称的程序,用于计算SHA-3 、HAKE、RawSHAKE 和Keccak函数。 [7]
- 这<hash>sum命名约定也被BLAKE团队与
b2sum
和b3sum
、程序tthsum
等使用。 - 在FreeBSD和OpenBSD 上,这些实用程序被称为md5 ,sha1 ,sha256和sha512 。这些版本提供略有不同的选项和功能。此外,FreeBSD 提供了Skein系列的消息摘要。 [8]
参见
参考
- ^ Bruce Schneier. Cryptanalysis of SHA-1. Schneier on Security. [2021-10-28]. (原始内容存档于2017-04-14).
- ^ Announcing the first SHA1 collision. [2021-10-28]. (原始内容存档于2017-04-24).
- ^ Sha1sum invocation (GNU Coreutils 9.0). [2021-10-28]. (原始内容存档于2022-03-10).
- ^ Mirror/Busybox. 26 October 2021 [2021-10-28]. (原始内容存档于2021-10-28).
- ^ Landley/Toybox. 26 October 2021 [2021-10-28]. (原始内容存档于2021-10-28).
- ^ Template:Man/ManKier –
- ^ Template:Man/ManKier –
- ^ FreeBSD通用命令(General Commands)手册页 –
外部链接
- Linux用户命令(User Commands)手册页 –
- sha1sum for Windows 公告 (页面存档备份,存于互联网档案馆)
- FreeBSD 手册页 md5 (页面存档备份,存于互联网档案馆)
- OpenBSD 通用命令手册 md5 (页面存档备份,存于互联网档案馆)
- 生成 SHA1 哈希 (页面存档备份,存于互联网档案馆)