MD5信息摘要算法
特点:
MD5是一种极具代表性的哈希算法,主要特点是其单方向性,你可以将明文信息通过MD5映射成密文信息,但是无法通过解密密文来获取明文信息。MD5作为不可逆的加密算法,只能加密,不能解密,而且目前为止技术上逆运算的程序并没有被开发出来。因此,这类算法对于信息传递来说基本没有什么用处,但是,正因为它的不可逆性,使得它十分适合用于身份认证与数字签名这方面,可以防止信息被修改。而且MD5有一个极大的优势,它不会随着明文长度的增加导致密文长度随之增加,无论需要加密的信息多长,加密之后是一段唯一的固定长度128bit的密文字符。
内部流程:
在MD5加密算法中,第一步对信息进行填充,使其字节长度达到(N+1)*512bit的要求。其次,有4个32bit被叫做链接变量的A,B,C,D,这四个变量初值赋值给a,b,c,d好了后,进行N+1次大循环,每一次大循环中包括四轮迭代运算,每一轮又包括16次不同参数的运算,每次运算都是对a、b、c、d中的3个进行非线性函数运