我们正在使用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
答案 0 :(得分:0)
或者至少改变了一些东西。这是一个不兼容的问题:看到: java.lang.IllegalAccessError: tried to access method
或者您已经(加载)了这个类,因为您有多个不兼容的实例。尝试在你的包中找到它(调用函数,或调用)
但为什么不直接使用该库?
import java.security.*;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(_originebyte);