HmacSHA1的Mac.getInstance()需要很长时间才能执行

时间:2011-05-26 17:09:21

标签: java hmacsha1

我最近因调用Mac.getInstance("HmacSHA1")而遇到了部署问题 在此特定服务器上执行该单个调用最多可能需要10分钟,而在其他计算机上执行该调用是即时的。

呼叫期间CPU使用率也出现高峰。

以下是服务器上的一些细节:

  • 操作系统:CentOS 5.6 Final(内核2.6.35.8-16,i686);
  • JVM: Sun的JDK 1.6.0_25(32位);
  • CPU: Intel Core2 Duo CPU(E8400@3.00GHz);
  • 内存: 2GB内存;
  • 专用物理服务器。

这里可能有什么问题的线索?

1 个答案:

答案 0 :(得分:3)

我怀疑你的安全随机数的系统熵很低。请参阅此页面以查看:Check available entropy in Linux。这个问题有待考虑的答案:How to solve performance problem with Java SecureRandom?特别是这个Java选项可以帮助你:

-Djava.security.egd=file:/dev/./urandom

它更快,但安全性稍差。