今天又学了一下实现Base64算法的三种方法,记录一下,以便复习。
Base64算法的实现:
- java的jdk实现;
- Commons Codec实现;
- Bouncy Castle实现。
jdk Base64算法的代码实现:Base64算法的jdk实现,虽然是Java提供的,但是不是标准库,所以在使用之前需要进行设置,按照如下方法设置Eclipse导入%JAVA_HOME%\jre\lib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!
private static void jdkBase64() {
//加密算法
BASE64Encoder base64Encoder=new BASE64Encoder();
String encoder=base64Encoder.encode(str.getBytes());
System.out.println("jdk加密后的:"+encoder);
//解密算法
try {
BASE64Decoder base64Decoder=new BASE64Decoder();
byte[] decoder=base64Decoder.decodeBuffer(encoder);
System.out.println(new String(decoder));
} catch (IOException e) {
e.printStackTrace();
}
}
Commons Codec实现Base64算法,首先要引入阿帕奇的jar包点击下载1.8版本的,jar包的版本应和jdk的版本一致,否则即便可以导包成功,也是运行时会报错的。代码实现:
public static void commonsCodeBase64() {
//加密
byte[] encoderBytes=Base64.encodeBase64(str.getBytes());
String encoder=new String(encoderBytes);
System.out.println("commonsCode加密:"+encoder);
//解密
byte[] decoderBytes=Base64.decodeBase64(encoder);
String decoder=new String(decoderBytes);
System.out.println("commonsCode解密后:"+decoder);
}
Bouncy Castle实现Base64加密算法,首先需要下载jar包点击下载。
public static void bouncyCastle() {
// 加密
byte[] encoderBytes = Base64.encode(str.getBytes());
System.out.println("bouncyCastle加密后:" + new String(encoderBytes));
// 解密
byte[] decodeBytes = Base64.decode(encoderBytes);
System.out.println("bouncyCastle解密后的数据:" + new String(decodeBytes));
}
java的安全组成:

应用场景:email,秘钥和证书文件。