喜迎
春节

第7章 哈希函数:数据的DNA


你有没有想过,当你登录一个网站时,网站是怎么“记住”你的密码的?它会把你的密码原文存下来吗?当然不会——那太危险了。一旦数据库泄露,所有用户的密码就全裸奔了。那么,网站到底存了什么?

答案是:它存的不是你密码本身,而是你密码的哈希值

哈希函数是密码学中一个神奇的工具。它可以把任意长度的数据(比如一段文字、一张图片、一部电影)压缩成一段固定长度的、看似随机的字符串,就像给数据提取了一段独一无二的“DNA”。这个DNA有几个神奇的特性:

  • 不可逆:从哈希值无法倒推出原始数据。就像你无法从一个人的指纹反推出他的长相。
  • 唯一性:理想情况下,不同的数据会产生不同的哈希值。哪怕只改变一个标点符号,整个哈希值都会变得面目全非。
  • 固定长度:无论输入是“123”还是整部《战争与和平》,输出的哈希值长度都一样。

这些特性让哈希函数成了数字世界的“指纹识别器”。它不负责隐藏数据(那是加密的事),而是负责校验数据的完整性验证身份的真实性

哈希函数无处不在:你每次登录网站,系统都会把你输入的密码哈希后与数据库中的哈希比对;你下载一个大文件时,网站会提供一个哈希值,让你验证文件是否损坏或被篡改;区块链用哈希把一个个区块链接成一条不可篡改的链条;数字签名中也依赖哈希来缩短签名长度……

但哈希函数也不是一成不变的。早期的MD5和SHA-1曾经风光无限,后来却被发现存在致命漏洞——碰撞攻击,即找到两个不同数据却产生相同哈希值。于是,更安全的SHA-2和SHA-3接过了接力棒。

在这一章,我们将从哈希函数的“不可逆”本质出发,看看它是如何成为数据完整性的守护者的。你会了解:

  • 7.1 哈希函数是什么:用最简单的语言解释哈希的核心概念。
  • 7.2 MD5与SHA家族:从MD5的辉煌到崩塌,再到SHA家族的演进,感受密码学与攻击者的赛跑。
  • 7.3 你每天都在用:密码存储、文件校验、数字签名……看看哈希如何渗透到数字生活的每个角落。
  • 7.4 哈希 vs 加密:一张表让你彻底分清这两个常被混淆的概念。

准备好了吗?让我们从“数据的DNA”开始,揭开哈希函数的神秘面纱。


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
评 论
 上一篇
1.3 现代密码学:从军事利器到生活必需品
1.3 现代密码学:从军事利器到生活必需品
Enigma的破译标志着密码学从一门“手艺”正式进入了科学殿堂。战后,密码学并未因和平的到来而沉寂,反而迎来了一场更深刻的革命。这场革命的核心,是将密码学从政府和军队的保险柜里解放出来,交到了每一个普通人手中。 公钥革命:让陌生人也能共享秘
2026-03-12
下一篇 
1.4 本书学习路径:不需要数学博士也能看懂
1.4 本书学习路径:不需要数学博士也能看懂
如果你翻开这本书时心里在想:“我数学不好,能看懂密码学吗?”——请放心,你并不孤单。 我见过太多人对密码学望而却步,因为他们以为这是一门“只有数学家才能理解的学问”。事实远非如此。密码学的核心思想,往往可以用最朴素的语言表达;而那些真正复杂
2026-03-12
  目录
hexo