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

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

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

最佳答案

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

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

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

09-10 08:58
查看更多