异或可逆加密操作:A对B异或结果C;A对C异或结果为A;二次异或是本身
package en_decode;
public class test {
public static String xor(String input) {
char[]chars=input.toCharArray();
for(int i=0;i
chars[i]=(char) (chars[i]^3000); //^异或
}
String new1=new String(chars);
return new1;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String aString="abc";
aString=xor(aString);
System.out.println(aString);
aString=xor(aString);
System.out.println(aString);
}
}
package en_decode;
import org.apache.commons.codec.digest.DigestUtils;
public class test {
//public static String xor(String input) {
//char[]chars=input.toCharArray();
//for(int i=0;i
//chars[i]=(char) (chars[i]^3000); //^异或
//}
//String new1=new String(chars);
//return new1;
//}
//
public static String MD5encode(byte[] input) {//速度快,不可逆 安全性低
return DigestUtils.md5Hex(input);
}
public static String SHAencode(byte[] input) {//速度慢 不可逆 安全性高
return DigestUtils.sha256Hex(input);
}
public static void main(String[] args) {
TODO Auto-generated method stub
//String aString="abc";
//aString=xor(aString);
//System.out.println(aString);
//
//aString=xor(aString);
//System.out.println(aString);
String gg="hello";
String t1=MD5encode(gg.getBytes());
System.out.println(t1);
String t2=SHAencode(gg.getBytes());
System.out.println(t2);
}
}
package en_decode;
import org.apache.commons.codec.binary.Base64;
public class test {
public static byte[] decode( String gg) {
return Base64.decodeBase64(gg);
}
public static String encode(byte[] bytes) {
return new String(Base64.encodeBase64(bytes));
}
public static void main(String[] args) {
String gg="hello";
gg=encode(gg.getBytes());
System.out.println(gg);
byte[]hh=decode(gg);
System.out.println(new String(hh));
}
}
导入包:commons-codec-1.10