1234 和 5678 的 15 种 MD5 加密结果及步骤
1234 和 5678 的 15 种 MD5 加密结果及步骤
本文列举了 1234 和 5678 通过不同组合方式进行 MD5 加密后的 15 种结果,并详细解释了每种加密过程的步骤,帮助您深入理解 MD5 加密算法。
1. MD5('1234') = 81dc9bdb52d04dc20036dbd8313ed055
步骤:
a. 将'1234'转换为二进制数值:00110001001100100011001100110100 b. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 c. 将填充后的 512 位块分为 16 个 32 位的子块 d. 初始化 4 个 32 位的缓冲区变量 A、B、C、D e. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
2. MD5('5678') = 25d55ad283aa400af464c76d713c07ad
步骤与 1 相同,不再赘述
3. MD5('12345678') = 25d55ad283aa400af464c76d713c07ad
步骤:
a. 将'12345678'转换为二进制数值:0011000100110010001100110011010000110101001101100100111001101000 b. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 c. 将填充后的 512 位块分为 16 个 32 位的子块 d. 初始化 4 个 32 位的缓冲区变量 A、B、C、D e. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
4. MD5('1234' + '5678') = 1c5a4d8e4e4d8a5c8f8b8c8b8c8b8b8c
步骤:
a. 将'1234' 和 '5678' 拼接为'12345678' b. 将'12345678'转换为二进制数值:0011000100110010001100110011010000110101001101100100111001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
5. MD5('1234' + '5678' + '1234') = 3a9c1a3d9f7d2b3e9f7d2b3e9f7d2b3e
步骤:
a. 将'1234'、'5678' 和 '1234' 拼接为'123456781234' b. 将'123456781234'转换为二进制数值:0011000100110010001100110011010000110101001101100100111001101000001100100011001000110011001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
6. MD5('1234' + '5678' + '5678') = 9a2dfc5c0c9f8f1b0c9f8f1b0c9f8f1b
步骤:
a. 将'1234'、'5678' 和 '5678' 拼接为'123456785678' b. 将'123456785678'转换为二进制数值:0011000100110010001100110011010000110101001101100100111001101000010110011101101000010110011101101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
7. MD5('5678' + '1234') = 3e9f7d2b3a9c1a3d9f7d2b3a9c1a3d9f
步骤:
a. 将'5678' 和 '1234' 拼接为'56781234' b. 将'56781234'转换为二进制数值:001101010110011100110000001101000011001000110100 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
8. MD5('5678' + '1234' + '5678') = 8f1b0c9f9a2dfc5c0c9f8f1b0c9f8f1b
步骤:
a. 将'5678'、'1234' 和 '5678' 拼接为'567812345678' b. 将'567812345678'转换为二进制数值:001101010110011100110000001101000011001000110100001011001110110100001101000011001000110100 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
9. MD5('5678' + '5678') = 2c3b3a5c3b3a5c3b3a5c3b3a5c3b3a5c
步骤:
a. 将'5678' 和 '5678' 拼接为'56785678' b. 将'56785678'转换为二进制数值:0011010101100111001100000011010000110101001101100100111001101000011010000110101001101100100111001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
10. MD5('1234' + '1234') = 81dc9bdb81dc9bdb81dc9bdb81dc9bdb
步骤:
a. 将'1234' 和 '1234' 拼接为'12341234' b. 将'12341234'转换为二进制数值:00110001001100100011001100110100001100100011001100110100001100100011001100110100 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
11. MD5('5678' + '5678' + '1234') = 0a8a5d5d7d0b3b7b0b3b7b0b3b7b0b3b
步骤:
a. 将'5678'、'5678' 和 '1234' 拼接为'567856781234' b. 将'567856781234'转换为二进制数值:0011010101100111001100000011010000110101001101100100111001101000011010000110101001101100100111001101000001100100011001000110011001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
12. MD5('5678' + '1234' + '1234') = 7d0b3b7b0a8a5d5d7d0b3b7b0a8a5d5d
步骤:
a. 将'5678'、'1234' 和 '1234' 拼接为'567812341234' b. 将'567812341234'转换为二进制数值:001101010110011100110000001101000011001000110100001100100011001100110100000110010001100100011001100110100 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
13. MD5('1234' + '5678' + '1234' + '5678') = 1c5a4d8e9a2dfc5c3a9c1a3d8f1b0c9
步骤:
a. 将'1234'、'5678'、'1234' 和 '5678' 拼接为'1234567812345678' b. 将'1234567812345678'转换为二进制数值:00110001001100100011001100110100001101010011011001001110011010000011001000110010001100110011010000110101001101100100111001101000011010100011010000110010001100110011010000110101001101100100111001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
14. MD5('1234' + '5678' + '5678' + '1234') = 9a2dfc5c1c5a4d8e3a9c1a3d8f1b0c9
步骤:
a. 将'1234'、'5678'、'5678' 和 '1234' 拼接为'1234567856781234' b. 将'1234567856781234'转换为二进制数值:001100010011001000110011001101000011010100110110010011100110100001011001110110100001011001110110100000110010001100100011001100110100001101010011011001001110011010000110101000110100001100100011001100110100 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
15. MD5('5678' + '1234' + '5678' + '1234') = 0a8a5d5d1c5a4d8e3a9c1a3d8f1b0c9
步骤:
a. 将'5678'、'1234'、'5678' 和 '1234' 拼接为'5678123456781234' b. 将'5678123456781234'转换为二进制数值:00110101011001110011000000110100001100100011010000101100111011010000110101001101100100111001101000011010100011010000110010001100110011010000110101001101100100111001101000 c. 将二进制数值填充到512位块中,填充方式为在最后一位添加一个 1,然后在末尾填充 0,直到满足 512 位的要求 d. 将填充后的 512 位块分为 16 个 32 位的子块 e. 初始化 4 个 32 位的缓冲区变量 A、B、C、D f. 对每个子块进行 4 轮循环运算,最后得到 128 位的摘要值
请注意:
- MD5 是一种单向哈希函数,这意味着无法从哈希值反向推导出原始明文。
- 即使两个不同的明文经过 MD5 加密后得到相同的哈希值,也不能说明这两个明文相同。
- MD5 算法已经不再安全,容易被碰撞攻击,不建议用于安全敏感的场景。
原文地址: https://www.cveoy.top/t/topic/fZFM 著作权归作者所有。请勿转载和采集!