代码语言:javascript复制
/*
* 功能:32位MD5算法 用来进行加密
*
*/
package com.shi.Tools;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5_Demo {
public static void main(String[] args) {
System.out.println(MD5("施爷"));
System.out.println(MD5("abc"));
}
public final static String MD5(String s){
char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
try {
//把字符串转换成字节码的形式
byte[] strTemp=s.getBytes();
//申明mdTemp为MD5加密的形式
MessageDigest mdTemp=MessageDigest.getInstance("MD5");
//进行字节加密并行进加密 转化成16位字节码的形式
mdTemp.update(strTemp);
byte[] md=mdTemp.digest();
//j=32
int j=md.length;
char str[]=new char[j*2];
int k=0;
//对字符串进行重新编码成32位的形式
for(int i=0;i<j;i ){
byte byte0=md[i];
str[k ]=hexDigits[byte0>>>4 & 0xf];
str[k ]=hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (NoSuchAlgorithmException e) {
return null;
}
}
}