`

base64加密算法

 
阅读更多
package com.dream.util;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import junit.framework.TestCase;

/**
 * @author zxg
 * base64算法 算法公开
 * base64可以充当加解密算法,不过容易破解
 * 就是替代 ascii码的算法
 */
public class Base64Test extends TestCase {
	private static final String STR = "zxg is a boy";
   
	/**
	 * 利用jdk
	 */
	public void testjdkBase() throws Exception {
		BASE64Encoder encode = new BASE64Encoder();
		System.out.println(encode.encode(STR.getBytes()));
		String str = encode.encode(STR.getBytes());
		BASE64Decoder decode = new BASE64Decoder();
		byte[] de = decode.decodeBuffer(new String(str.getBytes()));
		System.out.println(new String(de));
	}

	/**
	 * 利用apache commons codec 第三方扩展
	 */
	public void testApacheBase() throws Exception {
		byte[] encodebytes = Base64.encodeBase64(STR.getBytes());
		System.out.println(new String(encodebytes));
		byte[] decodebytes = Base64.decodeBase64(encodebytes);
		System.out.println(new String(decodebytes));
	}

	/**
	 * 利用  bouncy castle 第三方扩展
	 */
	public void testbcBase() throws Exception {
		byte[] encodebytes = org.bouncycastle.util.encoders.Base64.encode(STR
				.getBytes());
		System.out.println(new String(encodebytes));
		byte[] decodebytes = org.bouncycastle.util.encoders.Base64.decode(encodebytes);
		System.out.println(new String(decodebytes));

	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics