在 debian 上通过 KeyGenerator.generateKey() 生成 SeretKey 需要很长时间

问题描述

我正在从 KeyGenerator(javax.crypto.KeyGenerator) 生成 128 位 AES SecretKey,它在 Windows 系统上运行良好,但是当转移到 Debian(Ubuntu) 时,它需要很长时间才能生成。我不确定它是否与内存问题有关?


KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(keysize,SecureRandom.getInstanceStrong());
return keyGen.generateKey();

解决方法

最后,经过长时间的研究,通过启动熵的“haged”服务解决了这个问题

apt-get install haveged
update-rc.d haveged defaults
service haveged start