package coms;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class md5 {
public void toMD5(String plainText) throws NoSuchAlgorithmException {
//生成实现指定摘要算法的 MessageDigest 对象。
MessageDigest md = MessageDigest.getInstance("MD5");
//使用指定的字节数组更新摘要。
md.update(plainText.getBytes());
//通过执行诸如填充之类的最终操作完成哈希计算。
byte b[] = md.digest();
//生成具体的md5密码到buf数组
int j;
StringBuffer buf = new StringBuffer("");
for (int i = 0; i < b.length; i++) {
j = b[i];
if (j< 0)
j += 256;
if (j < 16)
buf.append("0");
buf.append(Integer.toHexString(j));
}
System.out.println("32位: " + buf.toString());// 32位的加密
System.out.println("16位: " + buf.toString().substring(8, 24));
}
public static void main(String agrs[]) {
try {
new md5().toMD5("admin");//加密LXD
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
1. md5加密 通常 就是用来在 用户输入 密码,
或者注册的过程中
我会选择 把 加密后的 密码 直接存入到 数据库的 表中