MD5 消息摘要算法是由 Ron Rivest 开发的消息摘要算法的第 5 版,用于生成 128 位消息摘要。MD5 比其他版本的消息摘要要快得多,它采用 512 位块的明文,将其进一步分为 16 个块,每个块 32 位,并产生 128 位的消息摘要,这是一组四个块,每个 32 位。MD5通过五个步骤产生消息摘要,即填充、追加长度、将输入分成512位的块、初始化链接变量一个过程块和4轮,并在每次迭代中使用不同的常量it。
MD5算法的使用
它的开发主要出于安全考虑,因为它接受任何大小的输入并生成 128 位哈希值的输出。要被认为是加密安全的,MD5 应该满足两个要求:
1.不可能生成不能产生相同散列函数的两个输出
2.不可能生成具有相同散列值的消息
最初,开发 MD5 是为了存储密码的单向哈希值,一些文件服务器还提供预先计算的文件 MD5 校验和,以便用户可以将下载文件的校验和与其进行比较。大多数基于 Unix 的操作系统在其分发包中包含 MD5 校验和实用程序。
MD5 算法如何工作?
众所周知,MD5 产生一个 128 位散列值的输出。这种将任何大小的输入
加密为哈希值的过程都经过 5 个步骤,每个步骤都有其预定义的任