import
static
org.junit.Assert.*;
import
java.security.MessageDigest;
//消息摘要
public
class
MDCoder {
//md2消息摘要处理
public
static
byte
[] encodeMD2(
byte
[] data)
throws
Exception{
//初始化MessageDigest
MessageDigest md=MessageDigest. getInstance(
"md2"
);
//执行消息摘要,返回散列值
return
md.digest(data);
}
//md5消息摘要处理
public
static
byte
[] encodeMD5(
byte
[] data)
throws
Exception{
//
MessageDigest md=MessageDigest. getInstance(
"md5"
);
//返回散列值
return
md.digest(data);
}
//十六进制设置
public
static
String encodeMDHex(
byte
[] data)
throws
Exception{
//执行消息摘要
byte
[] b=encodeMD2(data);
return
new
String(Hex.encode(b));
//作十六进制处理
}
public
static
byte
[] encodeMD5(String data)
throws
Exception{
return
DigestUtils.md5(data);
}
public
static
String encodeMD5Hex(String data){
return
DigestUtils.md5Hex(data);
}
public
static
final
void
main(String[] args)
throws
Exception{
String str=
"MD2消息摘要"
;
byte
[] data1=encodeMD2(str.getBytes());
byte
[] data2=encodeMD2(str.getBytes());
//校验
assertArrayEquals(data1,data2);//不一致时,会抛出异常。
str=
"MD5消息摘要"
;
byte
[] data11=encodeMD5(str.getBytes());
byte
[] data21=encodeMD5(str.getBytes());
assertArrayEquals(data11,data21);
}
}