/**
* MD5 32位加密算法
**/
public static String MD5(String sourceStr) {
String result = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(sourceStr.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
}
关于MD5 解密
- public static String convertMD5(String inStr){
- char[] a = inStr.toCharArray();
- for (int i = 0; i < a.length; i++){
- a[i] = (char) (a[i] ^ 't');
- }
- String s = new String(a);
- return s;
- }
解密调用:convertMD5(MD5(str))