复制本文链接

从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。我把代码做了如下替换:
java.util.Base64.Decoder的官网API:https://docs.oracle.com/javase/9/docs/api/java/util/Base64.Decoder.html
java.util.Base64.Encoder的官网API:https://docs.oracle.com/javase/9/docs/api/java/util/Base64.Encoder.html

 

/**
 * BASE64Encoder 加密
 * 
 * @param data
 *            要加密的数据
 * @return 加密后的字符串
 */
public static String encryptBASE64(byte[] data) {
    // BASE64Encoder encoder = new BASE64Encoder();
    // String encode = encoder.encode(data);
    // 从JKD 9开始rt.jar包已废除,从JDK 1.8开始使用java.util.Base64.Encoder
    Encoder encoder = Base64.getEncoder();
    String encode = encoder.encodeToString(data);
    return encode;
}
/**
 * BASE64Decoder 解密
 * 
 * @param data
 *            要解密的字符串
 * @return 解密后的byte[]
 * @throws Exception
 */
public static byte[] decryptBASE64(String data) throws Exception {
    // BASE64Decoder decoder = new BASE64Decoder();
    // byte[] buffer = decoder.decodeBuffer(data);
    // 从JKD 9开始rt.jar包已废除,从JDK 1.8开始使用java.util.Base64.Decoder
    Decoder decoder = Base64.getDecoder();
    byte[] buffer = decoder.decode(data);
    return buffer;
}

阿里云老用户专享阿里云双12 阿里云双12

发表评论

电子邮件地址不会被公开。 必填项已用*标注

30 − = 27