NOTE
1.3 Hash
Hash 的基本概念、特性、使用场景以及 MD5、SHA-256。
这是历史学习笔记,可能存在过时或不完整的理解。
1. Hash是什么
将任意长度的“字节串”变换成一个大整数,并且它是一个不可逆的字符串变换算法
1.1. Hash vs 加密
- Hash是单向的,加密是双向的
- Hash可能会冲突,加密不会
- Hash用于防止数据篡改,加密用于防止数据泄漏
- 泄漏和篡改不是一件事:比如有一段密文,我随意改几个字符,然后解密依然可以进行,
2. Hash特性
完整性
2.1. Hash使用场景
- 消息认证码
- 数字签名 私钥对文件签名时,不是对文件的内容签名,而是对文件的Hash值签名
3. Hash函数类型
3.1. MD5
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看