package com.hjy.util;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
//加密本体
public static String md5(String password){
try {
MessageDigest digest=MessageDigest.getInstance("md5");
byte[] by=digest.digest(password.getBytes());
String md5code=new BigInteger(1,by).toString(16);
for (int i=0;i<32-md5code.length();i++){
md5code="0"+md5code;
}
return md5code;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 可逆的加密算法
public static String KL(String inStr) {
// String s = new 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;
}
// 加密后解密
public static String JM(String inStr) {
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
String k = new String(a);
return k;
}
public static void main(String[] args) {
String code=MD5Util.md5("123456");
System.out.println(code);
System.out.println(MD5Util.KL(code));
}
}