一、jdk1.8下的 BASE64Encoder 和 BASE64Decoder(JDK9开始已移除):
package com.lmp.utils;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class test {
public static void main(String[] args) throws Exception {
String str = "hello word";
BASE64Encoder base64Encoder = new BASE64Encoder();
// JDK1.8 BASE64Encoder 加密
String encode = base64Encoder.encode(str.getBytes());
System.out.println(encode);
BASE64Decoder base64Decoder = new BASE64Decoder();
// JDK1.8 BASE64Decoder 解密
byte[] bytes = base64Decoder.decodeBuffer(encode);
String res = new String(bytes);
System.out.println(res);
}
}
二、推荐使用Base64:
package com.lmp.utils;
import java.util.Base64;
public class test {
public static void main(String[] args) throws Exception {
String str = "hello word";
// JDK1.8 Base64加密
String encode = Base64.getEncoder().encodeToString(str.getBytes());
System.out.println(encode);
// JDK1.8 Base64解密
byte[] bytes = Base64.getDecoder().decode(encode);
String res = new String(bytes);
System.out.println(res);
}
}
参考: JDK从1.8升级到9.0.1后.BASE64Decoder和.BASE64Encoder不可用.