org.apache.commons.codec.digest.Md5Crypt.md5Crypt函数。在linux下发生异常,但在windows下很好

时间:2015-12-24 08:07:24

标签: java apache-commons-codec

我们正在使用commons-codec使用org.apache.commons.codec.digest.Md5Crypt.md5Crypt函数加密密码。

它在Windows环境中运行良好,但在CentOS上,会抛出异常。

我们有3个centOS测试服务器:一个是centOS7,一个是centOS6.7,一个是centOS7最小。 最奇怪的是,代码在centOS7服务器上运行,但在其他两个服务器上运行。它们之间的唯一区别是操作系统。相同的tomcats,相同的jdks,相同的构建。

在linux下是否还需要其他东西?

异常消息:

java.lang.IllegalAccessError: tried to access method org.apache.commons.codec.digest.DigestUtils.getMd5Digest()Ljava/security/MessageDigest; from class org.apache.commons.codec.digest.Md5Crypt

1 个答案:

答案 0 :(得分:0)

你检查过罐子吗?和图书馆的存在?也许它被删除了一些不起眼的安全/专利/出口原因?

或者至少改变了一些东西。这是一个不兼容的问题:看到: java.lang.IllegalAccessError: tried to access method

或者您已经(加载)了这个类,因为您有多个不兼容的实例。尝试在你的包中找到它(调用函数,或调用)

但为什么不直接使用该库?

import java.security.*;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(_originebyte);