当前位置: 首页 > 面试题库 >

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

尤博达
2023-03-14
问题内容

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

它在Windows环境下可以正常工作,但在CentOS上会引发异常。

我们有3个centOS测试服务器:一台是centOS7,一台是centOS6.7,一台是centOS7
minimal。最奇怪的是,该代码可在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


问题答案:

你检查过罐子了吗?和图书馆的存在?也许出于某种晦涩的安全性/专利/出口原因将其删除了?

或至少有所改变。这是不兼容的问题:请参见:
java.lang.IllegalAccessError:尝试访问方法

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

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

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


 类似资料:
  • 问: 我在用workerman-chat 开发了一个简单的即时通讯工具,不过是用的windows版本 现在要把它放到linux环境下面该怎么操作呢? 答: 两种方法: 1、下载linux版本的workerman-chat,然后把你的Applications下的文件替换上去即可。 2、把Workerman目录换成Linux版本的Workerman即可。 第2种方法适用于所有windows版本移植到L

  • 我有一个静态的方法,用于从PDF中获取标题,使用元数据通过itext,这是一个主要任务的一小部分。 我注意到一条令人费解的路径,我将其缩小到这段代码。具体来说,在我实例化PdfReader的行中,该过程不会抛出异常或继续到print语句。事实上,它清除了我所有的for循环,直到我的程序的顶层,并表现得好像什么都没发生,我的任务完成了。 除非我弄错了,否则在我的方法中执行这组代码时,“Reader实

  • 问题内容: 下面的代码旨在生成间隔为[1,100]的五个伪随机数的列表。我为with设置了种子,它以unix时间返回系统时间。当我使用Microsoft Visual Studio 2013在Windows 7上编译并运行该程序时,它会按预期运行(请参阅下文)。但是,当我在Arch Linux中使用g ++编译器执行此操作时,它的行为就很奇怪。 在Linux中,每次将生成5个数字。每次执行后4个数

  • 问题内容: 需要帮忙!!! 我正在使用将Twitter提要流式传输到hdfs中,并将其加载进行分析。 步骤如下: hdfs中的数据: 我已经在文件中描述了并将其放入hadoop: 我写了一个.hql文件来创建表并在其中加载数据: 我已经成功运行.hql文件,但是当我在蜂巢中运行命令时,它显示以下错误: 错误 tweetsavro的输出为: 问题答案: 我正面临着完全相同的问题。这个问题存在于时间戳