md5算法简介
md5(message digent algorithm 5 信息摘要算法)算法是一种单向散列算法(hash算法),是一种将任意长度的信息压缩至某一固定长度(消息摘要)的函数。Hash函数可用于数字签名,信息完整性检查等用途,常见的散列算法,常见的散列算法还有sha、haval等。
md5是信息摘要算法,是不可逆的,不算是加密算法。
一个原始数据只对应1个md5值,但1个md5值可能对应多组数据
md5的作用
1.数据一致性检验
2.数字签名
3.访问认证
md5算法流程
先将输入的信息分组,每组512位(64字节),顺序处理完所有结果后输出128位结果,将这128位用十六进制表示便是32字符的md5码。16字符的md5编码就是32字符MD5中间的16个字符。
java生成md5字符串
public static String getMd5(String message){
String md5str = "";
try{
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(message.getBytes());
md5str = new BigInteger(1,messageDigest.digest()).toString(16);
}catch (Exception e){
e.printStackTrace();
}
return md5str;
}