java 採用MD5加密解密

packageendecrypt;java

importjava.io.UnsupportedEncodingException;
importjava.security.MessageDigest;
importjava.security.NoSuchAlgorithmException;算法

/**
*採用MD5加密解密
*@authortfq
*@datetime2011-10-13
*/
publicclassMD5Util{app

/***
*MD5加碼生成32位md5碼
*/
publicstaticStringstring2MD5(StringinStr){
MessageDigestmd5=null;
try{
md5=MessageDigest.getInstance("MD5");
}catch(Exceptione){
System.out.println(e.toString());
e.printStackTrace();
return"";
}
char[]charArray=inStr.toCharArray();
byte[]byteArray=newbyte[charArray.length];ide

for(inti=0;i<charArray.length;i++)
byteArray[i]=(byte)charArray[i];
byte[]md5Bytes=md5.digest(byteArray);
StringBufferhexValue=newStringBuffer();
for(inti=0;i<md5Bytes.length;i++){
intval=((int)md5Bytes[i])&0xff;
if(val<16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
returnhexValue.toString();函數

}測試

/**
*加密解密算法執行一次加密,兩次解密
*/
publicstaticStringconvertMD5(StringinStr){加密

char[]a=inStr.toCharArray();
for(inti=0;i<a.length;i++){
a[i]=(char)(a[i]^'t');
}
Strings=newString(a);
returns;md5

}get

//測試主函數
publicstaticvoidmain(Stringargs[]){
Strings=newString("tangfuqiang");
System.out.println("原始:"+s);
System.out.println("MD5後:"+string2MD5(s));
System.out.println("加密的:"+convertMD5(s));
System.out.println("解密的:"+convertMD5(convertMD5(s)));string

}}

相關文章
相關標籤/搜索