Java中的AES解密需要太长时间

时间:2018-05-17 15:24:25

标签: java performance api tomcat encryption

我在API中有一段Java代码,它使用AES和256位密码来解密字符串。解密后,它将用作连接数据库的密码。

此API部署在Red Hat Linux上的tomcat上。问题是解密过程对大多数请求花费的时间太长(约15分钟)。 5个请求中有1个是即时的。我没有将解密密钥存储在任何地方。知道为什么有些请求需要很长时间而有些需要几毫秒?

令人讨厌的部分是,我在同一个tomcat中部署了另一个具有相同长度密码的API,并且只需几毫秒即可解密。

2 个答案:

答案 0 :(得分:3)

这可能与 entropy 不足有关,尝试使用此系统属性:-Djava.security.egd=file:/dev/./urandom

redhat bug 118921中所述,此命令应显示是否存在熵问题(它将挂起):

dd if=/dev/random of=testfile bs=1 count=1

答案 1 :(得分:0)

tomcat中有一个挂起的线程导致了一个问题。我重新启动了tomcat服务,现在很好。

感谢大家的建议。