-
Eve:窃听者
-
Mallory:主动攻击者
如何防止被窃听?
单向散列函数,可以根据根据消息内容计算出散列值。
单向散列函数,也被称为
- 消息摘要函数(message digest function)
- 哈希函数(hash function)
输出的散列值,也被称
- 消息摘要(message digest)
- 指纹(fingerprint)
单向散列函数网站
MD5解密:https://www.cmd5.com/
散列值的长度和消息的长度无关,无论消息是1bit、10M、100G,单向散列函数都会计算出固定长度的散列值。
单向散列函数特点
-
根据任意长度的消息,计算出固定长度的散列值
-
计算速度快,能快速计算出散列值
-
具备单向性
- 消息不同,散列值不同,具有雪崩效应
常见的几种单向散列函数
- MD4,MD5
产生128bit的散列值,MD就是Message Digest的缩写
- SHA-1
产生160bit的散列值
- SHA-2
SHA-256,SHA-384,SHA-512,散列值长度分别是256bit,384bit,512bit
- SHA-31
全新标准
如何防止数据被篡改?
- 一般情况下是这样做的
- 应用单向散列函数来防止数据被篡改
单向散列函数 - 防止数据被篡改的应用:
- 例如 RealVNC 下载界面
官方给处一串 SHA-256,用于检验下载后的文件是否被篡改。
现在数据库不会直接存储密码明文,存储的都是加密过后的值。(所以现在的找回密码也无法看到原密码,只能重置成新密码)