MD5即消息-摘要算法,即时将一个任意长度的message转换成一个128位长度的整数,注意这个转换是不可逆的。
MD5码的主要应用在加密和解密中,很多网站即是将用户的密码转换成MD5码后存入数据库,以保证安全性。
import java.security.MessageDigest;
public class MD5Test {
public static String getMD5(byte[] source){
String s=null;
char hexDigits[]={'0','1','2','3','4','5','6','7','8',
'9','a','b','c','d','e','f'};
try {
MessageDigest md=MessageDigest.getInstance("MD5");
md.update(source);
byte tmp[]=md.digest();
char str[]=new char[16*2];
int k=0;
for(int i=0;i<16;i++){
byte bt=tmp[i];
str[k++]=hexDigits[bt>>>4&0xf];
str[k++]=hexDigits[bt&0xf];
}
s=new String(str);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return s;
}
public static void main(String[] args) {
System.out.println( MD5Test.getMD5("m".getBytes()) );
}
}