常在开发中用到Md5加密算法现,记录下。
package com.example.lic;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Md5Util {
public static void main(String[] args) {
String psd = "123";
encoder(psd);
}
private static void encoder(String psd) {
try {
StringBuffer stringBuffer = new StringBuffer();
// 指定加密算法类型
MessageDigest instance = MessageDigest.getInstance("MD5");
// 将需要加密的字符串转换成byte类型的数组,然后进行随机哈希过程
byte[] digest = instance.digest(psd.getBytes());
System.out.println("长度:" + digest.length);
// 循环遍历digest,然后让其生成32位字符串,固定写法
for (byte b : digest) {
int i = b & 0xff;
// int类型的i需要转化为16进制字符
String hexString = Integer.toHexString(i);
System.out.println("hexString:" + hexString);
if (hexString.length() < 2) {
hexString = "0" + hexString;
}
stringBuffer.append(hexString);
}
System.out.println("stringBuffer:" + stringBuffer.toString());
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}