MD5
- 128 bits / 16 Bytes / 32 位 16 进制数 (a “word”)
How
- Step 1. Append Padding Bits
- Step 2. Append Length
- Step 3. Initialize MD Buffer
- Step 4. Process Message in 16-Word Blocks
- Step 5. Output
- 是 XOR, AND, OR , NOT 的符号
Notice that the collision attack on MD5 can also be applied to password-based challenge-and-response authentication protocols such as the APOP (Authenticated Post Office Protocol) option in POP
思路
- 把一串数据经过处理,得到另一个固定长度的数据
特点
- 不可逆性
- 唯一性 ( 不完全可靠
Javascript
- Library:
https://unpkg.com/[email protected]/spark-md5.min.js
References
- RFC 1321: The MD5 Message-Digest Algorithm & RFC 6151: Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms
- MD5 - 维基百科,自由的百科全书
- 怎么给文件生成MD5 - 掘金
- MD5碰撞——从理论到现实【25c3】【自译】_哔哩哔哩_bilibili
- MD5 Collision Attack Lab Walkthrough | Cryptography SEEDLab | Coding w/ Kaity - YouTube