注释已经写的非常清楚了直接看代码就好了;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Md5Util {
public static void main(String[] args) {
String pwd ="123"+"xjq";///后边的xjq是一个加盐的过程;为了使密码不好破解;
encoder(pwd);
}
/**
* 通过MD5算法加密;
* @param pwd
*/
private static void encoder(String pwd) {
try {
//1指定算法类型;
MessageDigest digest =MessageDigest.getInstance("MD5");
//2将需要加密的字符串转换成byte数组;
byte[] bs = digest.digest(pwd.getBytes());
//3通过遍历bs 生成32位的字符串;
//最后字符串有个拼接的过程;
StringBuffer sb =new StringBuffer();
for (byte b : bs) {
int i=b&0xff; //int 类型的i 是4个字节占32位;
//int 类型的i转换成16进制字符;
String hexString = Integer.toHexString(i);
if (hexString.length()<2) {//补零的过程,因为生成的时候有的是一位有的是两位所以需要有个补零的过程;
hexString="0"+hexString;
}
sb.append(hexString);
}
System.out.println(sb.toString());
} catch (NoSuchAlgorithmException e) {//找不到指定算法的错误;
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}