JAVAがbase 64符号化を実現する3つの実現方式


package cn.test;

import java.io.IOException;

import org.apache.commons.codec.binary.Base64;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;



public class testbase {
	/**
	 *  base64 
	 */
	private static String src = "imooc base64";
	
	public static void main(String[] args) {
		//jdkBase64();
		//CommonsCodecBase64();
		bouncyCastleBase64();
	}
	
	/**
	 *  JDK base64 
	 */
	public static void jdkBase64() {
		try {
			BASE64Encoder encoder = new BASE64Encoder();
			String jdkEncode = encoder.encode(src.getBytes());
			System.out.println("JDKEncode-->" + jdkEncode);
			
			BASE64Decoder decoder = new BASE64Decoder();
			System.out.println("JDKDecode-->" + new String(decoder.decodeBuffer(jdkEncode)));
		} catch (IOException e) {
			e.printStackTrace();
		};
	}
	/**
	 *  commons.codecJAR base64 
	 */
	public static void CommonsCodecBase64(){
		byte[] CCEncode = Base64.encodeBase64(src.getBytes());
		System.out.println("CCEncode-->" + CCEncode);
		
		byte[] CCDecode = Base64.decodeBase64(CCEncode);
		System.out.println("CCDecode-->" + new String(CCDecode));
		
	}
	/**
	 *  bouncy Castle base64 
	 */
	public static void bouncyCastleBase64(){
		
		byte[] BCEncode = org.bouncycastle.util.encoders.Base64.encode(src.getBytes());
		System.out.println("BCEncode-->" + BCEncode);
		
		byte[] BCDecode = org.bouncycastle.util.encoders.Base64.decode(BCEncode);
		System.out.println("BCDecode-->" + new String(BCDecode));
	}
	
}

2つのjarパッケージはネット上で長い間テストを探しても使えません.自分はmavenを通じてローカル倉庫にダウンロードして別のプロジェクトにコピーしてテストしています.他のパートナーがテストするとき、このような問題に遭遇したら、解決策を参考にすることができます.