标签: MD5

1 篇文章

【CRYPTO】MD5算法详解
前言 MD5是一种哈希算法,用来保证信息的完整性。 就一段信息对应一个哈希值,且不能通过哈希值推出这段信息,而且还需要保证不存在任意两段不相同的信息对应同一个哈希值。 不过MD5算法算出来的值也就16byte(即128bit),肯定存在相同的,找到另一个所花时间长短而已。 填充信息 我们要对一个字符串进行MD5计算,那么肯定要从这个字符串的处理入手。 我们知道一个字符的长度是1个byte,即8bit的长度。 MD5对待加密的字符串的处理是将一个字符串分割成每512bit为一个分组,形如N*512+R,这里的R是余下的位数。这个R分为几种情况: R=0时,需要补位,单补上一个512bit的分组,因为还要加入最后64个位的字符串长度。 R<…