SHA-1 哈希生成器
从任意文本输入即时生成 SHA-1 哈希值。SHA-1(安全哈希算法 1)生成 160 位哈希值,已广泛用于安全协议和版本控制系统。虽然由于已演示的碰撞攻击,SHA-1 现在已被弃用于密码学目的,但它在 Git 提交标识、遗留系统兼容性和非安全指纹识别任务中仍然必不可少。我们的免费浏览器工具在本地计算 SHA-1 哈希,不会将您的数据传输到任何服务器。
功能介绍
SHA-1(安全哈希算法 1)是由美国国家安全局(NSA)设计并于 1995 年由 NIST 发布的密码学哈希函数。它生成 160 位(20 字节)哈希值,通常表示为 40 个字符的十六进制字符串。SHA-1 是 2000 年代 SSL/TLS 证书、数字签名和许多安全协议中使用的标准哈希函数。2017 年 2 月,Google 的 SHAttered 团队宣布了第一个实用的 SHA-1 碰撞攻击,产生了具有相同 SHA-1 哈希的两个不同 PDF 文件。尽管在安全目的上已被弃用,但 SHA-1 仍然是 Git 版本控制的核心组件,用于识别提交、树、标签和 blob。该算法使用 80 轮位运算、旋转和模加法对 512 位消息块进行操作。
使用方法
- 在浏览器中打开 SHA-1 哈希生成器——完全免费,无需注册。
- 在输入区域输入文本或使用文件选择器或拖放区域上传文件。
- SHA-1 哈希在您输入时即时计算,显示为 40 个字符的十六进制字符串。
- 在大小写输出格式之间切换,以匹配您的项目要求。
- 使用复制按钮单击将哈希值复制到剪贴板。
- 使用生成的 SHA-1 摘要验证 Git 对象哈希、遗留系统校验和或遗留 PGP 签名。
相关搜索
相关搜索:SHA-1, 安全哈希算法, 160位哈希, Git哈希, 校验和, 遗留哈希。
SHA-1安全哈希算法160位哈希Git哈希校验和遗留哈希
常见问题
SHA-1 仍然被认为是安全的吗?
不,SHA-1 不再被认为是密码学安全的。2017 年,Google 演示了第一个实用的碰撞攻击(SHAttered),产生了具有相同 SHA-1 哈希的两个不同文件。因此,主要浏览器在 2017 年停止接受 SHA-1 SSL 证书,所有主要科技公司都在其安全协议中弃用了 SHA-1。然而,当攻击者无法控制两个输入时,SHA-1 在实践中仍然具有抗碰撞性,这就是 Git 仍然依赖它进行对象识别和完整性检查的原因。
为什么 Git 仍然使用 SHA-1?
Git 使用 SHA-1 主要不是为了防御恶意攻击,而是为了数据完整性以及作为对象(提交、树、blob、标签)的唯一标识符。在 Git 上下文中,意外碰撞极不可能出现,实际的威胁模型是数据损坏而不是故意的碰撞攻击。Git 的创建者 Linus Torvalds 指出,SHA-1 在 Git 中的主要目的是检测意外的数据损坏,而不是防御复杂的攻击者。Git 正在过渡到 SHA-256 以确保面向未来,但现有的 SHA-1 存储库仍然完全可用。
SHA-1 和 MD5 有什么区别?
SHA-1 生成 160 位哈希(40 个十六进制字符),而 MD5 生成 128 位哈希(32 个十六进制字符),提供更大的输出空间。SHA-1 由 NSA 设计为 MD5 的更安全的后继者,使用更复杂的算法,80 轮对比 MD5 的 64 轮。虽然两者现在都被认为对密码学目的不安全,但 SHA-1 对碰撞攻击的抵抗力比 MD5 更强——第一个实用的 SHA-1 碰撞需要比 MD5 碰撞演示显著更多的计算资源。对于任何需要密码学安全的新应用程序,两者都不应使用;建议改用 SHA-256 或 SHA-3。
SHA-1 哈希有多长?
SHA-1 哈希始终为 160 位(20 字节),表示为 40 个十六进制字符。例如,空字符串的 SHA-1 哈希是 da39a3ee5e6b4b0d3255bfef95601890afd80709。固定长度输出是哈希函数的定义特征——无论输入多大或多小,输出哈希保持相同长度。此属性使得哈希函数非常适合创建数据的数字指纹。