import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Md5 {
// 如果需要把转换后的密码保存到数据库中,需要使用的类型为:char(32)
public static String getMd5(String str) {
try {
// 获取MessageDigest对象,该对象完成加密
MessageDigest md = MessageDigest.getInstance("MD5");
// 把要加密的信息转换成字节数组,再使用转换后的字节数组初始化MessgeDigest对象
md.update(str.getBytes());
// 调用digest方法进行加密,返回byte数组
byte[] hash = md.digest();
StringBuffer sb = new StringBuffer();
int i = 0;
for (int offset = 0; offset < hash.length; offset++) {
i = hash[offset];
if (i < 0) {
i += 256;
}
if (i < 16) {
sb.append("0");
}
sb.append(Integer.toHexString(i));
}
// 把byte数组转换成字符串,然后就可以使用加密后的字符串了
return sb.toString();
}
catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
// String PASSWORD = String.valueOf((int) (Math.random() * 1000000));
String PASSWORD = "pengxiaoye1998";
System.out.println(getMd5(PASSWORD));
}
}
参考资料
javascript+Java 实现MD5加密登录密码
你会做WEB上的用户登录功能吗?
我的java web登录RSA加密