Miklix

SHA-1 哈希码计算器

已出版: 2025年2月16日 UTC 23:24:17

哈希码计算器使用安全哈希算法 1 (SHA-1) 哈希函数根据文本输入或文件上传计算哈希码。

为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:

SHA-1 Hash Code Calculator

SHA-1(安全哈希算法 1)是由 NSA 设计并由 NIST 于 1995 年发布的加密哈希函数。它产生 160 位(20 字节)的哈希值,通常表示为 40 个字符的十六进制字符串。SHA-1 曾广泛用于保护数据完整性、数字签名和证书,但现在由于易受碰撞攻击而被视为不安全。本文将其包括在这里,以防需要计算必须与旧系统兼容的哈希码,但在设计新系统时不应使用它。

完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。


计算新的哈希代码

通过本表格提交的数据或上传的文件在服务器上的保存时间仅限于生成所需的哈希代码。在结果返回到您的浏览器之前,这些数据将被立即删除。

输入数据:



提交的文本采用 UTF-8 编码。由于哈希函数对二进制数据进行运算,因此运算结果会与使用其他编码的文本不同。如果需要计算特定编码文本的哈希值,则应上传文件。



关于 SHA-1 哈希算法

我不是数学家,所以我将尝试以其他非数学家能够理解的方式来解释这个哈希函数 - 如果您想要精确的科学数学版本的解释,您可以在许多其他网站上找到它;-)

SHA-1 就像一台特殊的碎纸机,它可以接收任何信息(无论是一个单词、一个句子还是整本书),然后以非常特殊的方式将其粉碎。但它并不是简单地粉碎,而是神奇地吐出一个独特的“粉碎代码”,该代码的长度始终恰好为 40 个十六进制字符。

  • 例如,你输入“你好”
  • 您得到 40 个十六进制数字,例如 f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

不管你输入什么 - 短的或长的 - 输出的长度总是相同的。

“神奇碎纸机”的工作原理分为四个步骤:

步骤 1:准备纸张(衬垫)

  • 在粉碎之前,你需要准备好纸张。想象一下在消息末尾添加空格,以便它完全适合粉碎机的托盘。
  • 这就像你烤饼干时,你要确保面团均匀地填满模具。

第二步:切成大小相等的块(分割)

  • 碎纸机不喜欢大块的纸张。因此,它会将您准备好的信息切成更小、大小均等的碎片 - 就像将大蛋糕切成完美的薄片一样。

步骤 3:秘密配方(搅拌和捣碎)

  • 现在到了最酷的部分!在碎纸机内部,您的每条信息都会经过一系列搅拌器和滚筒:
    • 混合:它用一些秘密成分(内置规则和数字)搅动您的信息。
    • 捣碎:以特殊的方式挤压、翻转和旋转各个部件。
    • 扭曲:某些部分被扭曲或反转,就像将纸折成折纸一样。

每一步都会使信息变得更加混乱,但机器始终会遵循一种非常具体的方式。

步骤 4:最终代码(哈希)

  • 经过所有的混合和处理后,就会得到一个整洁的、混乱的代码——就像您信息的独特指纹一样。
  • 即使你改变了 原始消息中只有一个字母,输出就会完全不同。这就是它的特别之处。

SHA-1 不应再使用的原因是,一些非常聪明的人想出了如何欺骗碎纸机,让其为两条不同的消息制作相同的代码(这称为碰撞)。

我们现在有了更强大、更智能的“粉碎机”,而不是 SHA-1。在撰写本文时,我在大多数情况下默认使用的哈希算法是 SHA-256 - 是的,我也有计算器:SHA-256 哈希码计算器

分享至 Bluesky在 Facebook 上分享在 LinkedIn 上分享在 Tumblr 上分享分享至 X在 LinkedIn 上分享在Pinterest上固定

米克尔·邦·克里斯滕森

关于作者

米克尔·邦·克里斯滕森
迈克尔 是 miklix.com 的创建者和所有者。他拥有 20 多年的专业计算机程序员/软件开发人员经验,目前全职受雇于一家大型欧洲 IT 公司。不写博客时,他把业余时间花在各种兴趣、爱好和活动上,这在一定程度上反映在本网站涵盖的各种主题上。