admin管理员组

文章数量:1531251

idea中可能会出现没有sun.misc.BASE64Encoder的jar包。但是64位编码却需要用到.BASE64Encoder。这种问题一般在比较新的jdk12的时候会出现,为了解决这个问题,有以下两种方法:
1.JDK由12改为8;
2.更改导入的包;

下面详细说一下第二种方法:

1.替换原有jar包
原有的包导入方式为:

import sun.misc.BASE64Encoder;

改为(如果项目在maven构建,可以在pom文件中加入依赖,否则手动加入jar包):

import org.apache.commons.codec.binary.Base64;

pom文件中加入的依赖:

    <!-- https://mvnrepository/artifact/org.apache.directory.studio/org.apachemons.codec -->
    <dependency>
      <groupId>org.apache.directory.studio</groupId>
      <artifactId>org.apachemons.codec</artifactId>
      <version>1.8</version>
    </dependency>

2.替换原来的加密方式和解密方式
将:

return new  BASE64Encoder().encode(encrypted);

替换为

    import org.apache.commons.codec.binary.Base64;
    return Base64.encodeBase64String(encrypted);

byte[] encrypted1 = new BASE64Decoder().decodeBuffer(text); 

替换为

    import org.apache.commons.codec.binary.Base64;
    byte[] encrypted1 =Base64.decodeBase64(text);   

本文标签: 解决方法SUNIDEAMiscjar