base64、sha256、MD5加密
异或可逆加密操作: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.length;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.length;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