MD5加密代码

MD5加密代码

MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。

MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算。

对于给定数量的更新数据,digest 方法只能被调用一次。digest 被调用后,MessageDigest 对象被重新设置成其初始状态。

package cn.pr.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Test {
/**
* 通过md5进行加密
* @param plainText 要加密的数据
* @param length 要加密的长度
* @return
*/
//获取到MD5加密后的密码 plainText-加密信息,length-加密长度
public static String getMD5Test (String plainText,int length) {
try {
//1.获取MessageDigest对象
MessageDigest messageDigest=MessageDigest.getInstance(“MD5”);
//执行加密操作
messageDigest.update(plainText.getBytes());
//在MD5算法这,得到的目标字节数组的特点:长度固定为16
byte[] b=messageDigest.digest();
int i=0;
StringBuilder builder=new StringBuilder("");
for(int offset=0;offset<b.length;offset++) {
i=b[offset];
if(i<0) {
i+=256;
}
if (i<16) {
builder.append(0);
}
builder.append(Integer.toHexString(i));
}
return builder.toString().substring(0,length);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;

}

}
注:有看不懂的可以在评论区写出来,我会及时回复的。


版权声明:本文为weixin_45048478原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。