-1

我们正在使用该功能commons-codec来加密密码。org.apache.commons.codec.digest.Md5Crypt.md5Crypt

它在 Windows 环境下运行良好,但在 CentOS 上,会引发异常。

我们有3台centOS测试服务器:一台是centOS7,一台是centOS6.7,一台是centOS7 minimum。最奇怪的是,该代码在 centOS7 服务器上运行,但在其他两个服务器上却不行。它们之间的唯一区别是操作系统。相同的tomcat,相同的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

4

1 回答 1

0

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

或者,至少,发生了一些变化。这是不兼容的问题:看到: java.lang.IllegalAccessError:试图访问方法

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

但是为什么不直接使用库呢?

import java.security.*;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(_originebyte);
于 2015-12-24T09:59:41.133 回答