散列函数

概念

散列函数也叫做HASH函数,主流的散列算法有MD5与SHA。散列函数的主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做散列值,这个散列值也常常被称为数据的指纹。

2026-01-31T14:39:02.png

四大特点

固定大小

以MD5举例,MD5生成的散列值是128bit位。不管多大的一个文件或者多小的文件,通过MD5计算之后,总得到一个固定的128bit位散列值。

雪崩效应

什么叫雪崩效应呢?就是说哪怕你对这个文件做了一点点的,比如说1TB的数据只是改了其中的一个字节,其实这是一个微乎其微的一个非常小的一个修改。但是得到的散列值是雪崩效应,是完全的彻底的不一样的。

单向

通过散列函数可以获取原文件的散列值,但通过散列函数不能得到原文件,是不可逆的操作。

冲突避免

散列值具有唯一性,如果能快速找到其他文件的散列值和目标文件散列值相同,那散列值实际上是没法用了

验证数据的完整性

2026-01-31T14:39:29.png

用户二(接受方),将文件通过散列函数计算出散列值二,和散列值一比较。相同则认为文件未被篡改(假设传输过程中散列值未被篡改)。

最后修改:2026 年 02 月 01 日
如果觉得我的文章对你有用,请随意赞赏