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を通じてローカル倉庫にダウンロードして別のプロジェクトにコピーしてテストしています.他のパートナーがテストするとき、このような問題に遭遇したら、解決策を参考にすることができます.