package com.snowcattle.game.common.util;
import java.security.MessageDigest;
/**
* MD5 加密编码工具类(从龙之刃拷贝过来)
*
*
*/
public class MD5Util {
/**
* 将输入的字符串进行MD5加密(编码)
*
* @param inputString
* @return
*/
public static String createMD5String(String inputString) {
return encodeByMD5(inputString);
}
/**
* 验证MD5密码是否正确
*
* @param pass
* @param inputString
* @return
*/
public static boolean authMD5String(String md5, String inputString) {
if (md5.equals(encodeByMD5(inputString))) {
return true;
} else {
return false;
}
}
/**
* 对字符串进行MD5编码
*
* @param originStr
* @return
*/
public static String encodeByMD5(String originStr) {
if (originStr != null) {
try {
// 创建具有指定算法名称的信息摘要
MessageDigest md = MessageDigest.getInstance("MD5");
// 使用指定的字节数组对摘要进行最后的更新,然后完成摘要计算
char[] _charStr = originStr.toCharArray();
byte[] _byteStr = new byte[_charStr.length];
for (int i = 0; i < _charStr.length; i++) {
_byteStr[i] = (byte)_charStr[i];
}
byte[] _results = md.digest(_byteStr);
StringBuffer _hexValue = new StringBuffer();
for (int i = 0; i < _results.length; i++) {
int _val = ((int)_results[i]) & 0xff;
if(_val < 16){
_hexValue.append("0");
}
_hexValue.append(Integer.toHexString(_val));
}
return _hexValue.toString();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return null;
}
}