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

猜你喜欢

转载自www.cnblogs.com/qinyios/p/10390791.html