您的位置:首页 > 编程语言 > Java开发

JAVA实现base64编码的三种实现方式

2017-10-23 14:47 549 查看
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));
}

}
对于两个jar包在网上找了好久测试都不能用,自己是通过maven下载到本地仓库然后复制到另一个项目进行测试的,其他小伙伴测试的时候如果遇到类似问题可以参考解决思路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java base64 测试 解密