Java 1.8 DigestUtil MD5无法访问OSX上的方法

时间:2017-05-25 22:23:45

标签: java macos apache maven

我正在尝试使用Apache common.codec库在java中进行一些加密,这是一个示例代码片段:

    String password = "abc124";
    String salt = "$1$69$";
    String cryptedPassword = org.apache.commons.codec.digest.Md5Crypt.md5Crypt(password.getBytes(), salt);
    System.out.println(cryptedPassword);

我的.pom文件当前只包含此依赖项:

<dependencies>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.9</version>
    </dependency>
</dependencies>

当我尝试执行该代码片段时,我获得了这个奇怪且不常见的错误:

  

线程“main”中的异常java.lang.IllegalAccessError:尝试过   访问方法   org.apache.commons.codec.digest.DigestUtils.getMd5Digest()Ljava /安全/消息摘要;   来自类org.apache.commons.codec.digest.Md5Crypt at   org.apache.commons.codec.digest.Md5Crypt.md5Crypt(Md5Crypt.java:196)     在   org.apache.commons.codec.digest.Md5Crypt.md5Crypt(Md5Crypt.java:161)     在Tester.main

我尝试将库版本更新为1.10,但问题相同。我也试过升级java版本,目前是:

  

java -version   java版“1.8.0_131”Java(TM)SE运行时环境   (build 1.8.0_131-b11)Java HotSpot(TM)64位服务器VM(构建   25.131-b11,混合模式)

     

javac的版本   javac 1.8.0_131

我的环境正在OSX上运行。

0 个答案:

没有答案