package com.tomorrowgold.common.encrypt;
import org.slf4j.LoggerFactory;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
// 全局数组
private final static String[] strDigits = { 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, a, b, c, d, e, f };
// 返回形式为数字跟字符串
private static String byteToArrayString(byte bByte) {
int iRet = bByte;
// System.out.println(iRet=+iRet);
if (iRet < 0) {
iRet += 256;
}
int iD1 = iRet / 16;
int iD2 = iRet % 16;
return strDigits[iD1] + strDigits[iD2];
}
// 转换字节数组为16进制字串
private static String byteToString(byte[] bByte) {
StringBuffer sBuffer = new StringBuffer();
for (int i = 0; i < bByte.length; i++) {
sBuffer.append(byteToArrayString(bByte[i]));
}
return sBuffer.toString();
}
public static String encode(String strObj) {
String resultString = null;
try {
resultString = new String(strObj);
MessageDigest md = MessageDigest.getInstance(MD5);
// md.digest() 该函数返回值为存放哈希值结果的byte数组
resultString = byteToString(md.digest(strObj.getBytes()));
} catch (NoSuchAlgorithmException ex) {
LoggerFactory.getLogger(MD5.class).error(MD5加密时发生异常:,ex);
}
return resultString;
}
public static void main(String[] args) {
System.out.println(MD5.encode(123)); //202cb962ac59075b964b07152d234b70
}
}
本文由梁桂钊于2023-05-08发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/6618.html