在java中使用MD5进行加密
申请博客园很久了,一直没有写。最近加班实在是太累了,今天算是给博客园开个门。 为了目标,坚持。
/**
* 提供一个对字符串进行MD5加密的方法。
* 类 名: ETClassMD5
* 作 者: libingbing
* 创建时间: 2014 -11 -1 13:10:07
* 修改时间:
* 修改说明:
*/
public class ETClassMD5 {
// 加密令牌
private static String token = "BINGBLEE";
private static String dealString(String string) {
StringBuffer strBuffer = new StringBuffer( string);
return strBuffer.append( token).toString();
}
private static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
/**
* 对字符串string进行MD5进行加密,内部对string进行了处理在加密。
* 方 法 名:MD5String
* 作 者:libingbing
* 创建时间:2014 -11 -1日 13:18:25
* @param string 需要加密的字符串。
* @return 加密后的32为摘要。
*/
public static String MD5String(String string) {
MessageDigest instance;
try {
// 获得MD5加密算法的实例
instance = MessageDigest. getInstance( "MD5");
// 对指定的字符串进行加密
instance.update( dealString( string).getBytes());
byte[] md5String = instance.digest();
// 传化成16进制数
char[] result = new char[ md5String. length * 2];// 每一位需要用二个十六进制数表示.
int count = 0;
for ( int index = 0; index < md5String. length; index++) {
result[ count++] = hexDigits [(md5String [index ] >>> 4) & 0xf]; // 高四位
result[ count++] = hexDigits [md5String [index ] & 0xf]; // 低四位
}
return new String( result);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}