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
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。