前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sha1sum(1) command

sha1sum(1) command

作者头像
恋喵大鲤鱼
发布2023-10-12 15:37:20
2020
发布2023-10-12 15:37:20
举报
文章被收录于专栏:C/C++基础C/C++基础

1.命令简介

sha1sum(sha1 checksum)用于产生和校验 SHA1 消息摘要。

SHA1(Secure Hash Algorithm 1)是一种哈希函数,由美国国家安全局(NSA)设计,于 1995 年发布。

SHA1 对任意长度的信息逐位进行计算,产生一个二进制长度为 160 位(十六进制长度为 40 位)的散列值,不同的文件产生相同的消息摘要的可能性非常非常之低。

SHA1 通常用于数字签名、数据完整性校验、密码管理和随机数生成等领域。

SHA1 的实现在 FIPS-180-1 有详细描述。

2.命令格式

代码语言:javascript
复制
sha1sum [OPTION]... [FILE]...

FILE 可指定多个,以空格分隔。当不提供 FILE 或者 FILE 为 -,从标准输入读取文件名。

3.选项说明

选项与 md5sum 完全一致。

代码语言:javascript
复制
-b, --binary
	以二进制模式读取文件,而不是默认的文本模式。
-c, --check
	检验文件的 MD5 值。给定的文件中每一行的内容是 md5sum 的输出结果,即 md5-value  filename(文本输入模式)或 md5-value *filename(二进制输入模式)
--tag
	创建 BSD 风格的输出行。
-t, --text
	以文本模式读取(默认)。输出时,文本输入模式在文件名前是两个空格,二进制输入模式在文件名前是一个空格和星号。注意,在 GNU 系统中,-b 与 -t 选项在读取时没有差别。
-z, --zero
 以 NUL 结束每个输出行,而不是换行,并禁用文件名转义。
--help
	显示帮助信息并退出。
--version
	输出版本信息并退出。

以下选项只在校验 MD5 值时有效:
--quiet
	校验成功的文件不打印 OK。
--status
	不输出任何校验成功与失败的信息,使用命令返回码来表示是否校验成功,0 成功,非 0 失败。
--strict
	在校验文件 MD5 时,遇到非法格式的校验行,命令返回非 0 状态码。
-w, --warn
	在校验文件 MD5 时,遇到非法格式的校验行发出告警。

4.常用示例

(1)生成文件的 SHA1 值,以文件 /etc/passwd 为例。

代码语言:javascript
复制
sha1sum /etc/passwd

87b157ac4faefa51e63c38b1be24cd8f70373bb2  /etc/passwd

其中,第一个字段为文件的 SHA1 哈希值,第二个字段为文件路径。

(2)生成文件的 SHA1 值到输出到指定文件。

代码语言:javascript
复制
sha1sum /etc/passwd > passwd.sha1

(3)校验文件的 SHA1 值。

使用上面第二步生成的校验文件。

代码语言:javascript
复制
sha1sum -c passwd.sha1

/etc/passwd: OK

从输出结果看出,文件的 sha1 值校验成功。

(4)从标准输入读取文件。

代码语言:javascript
复制
sha1sum

随后输入文件名,然后回车,最后以 Ctrl + D 结束输入。

5.安全性

然而,随着时间的推移,SHA-1的安全性逐渐受到质疑。

在 2005 年,针对 SHA1 的首个理论性攻击被提出,该攻击使得 SHA1 的碰撞(collision)攻击成为可能。碰撞攻击是指找到两个不同的输入数据,但它们生成相同的哈希值。随着计算能力的增强和攻击方法的改进,SHA-1的碰撞攻击变得更加实际可行。

由于 SHA1 的安全性问题,许多安全机构和标准化组织已经不推荐使用 SHA1,而是转向更安全的哈希函数,如 SHA256 和 SHA3 系列。如 Web 浏览器和操作系统已经逐渐停止对使用 SHA1 签名的数字证书的支持。

总的来说,SHA1 是一种过时的哈希算法,在安全性方面存在漏洞,因此不建议在新的加密应用中使用它。对于现有使用 SHA1 的系统,为了保证数据的安全性,应该考虑迁移到更强大和安全的哈希函数。


参考文献

sha1sum(1) - Linux manual page - man7.org

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 5.安全性
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档