申请博客园很久了,一直没有写。最近加班实在是太累了,今天算是给博客园开个门。 为了目标,坚持。
/**
* 提供一个对字符串进行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
;
}
}
}