【发布时间】:2013-10-09 14:45:56
【问题描述】:
您好,我有以下 sn-p 代码:
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG" , "SUN");
secureRandom.setSeed("seed");
keyGen.init(DEFAULT_KEY_LENGTH, secureRandom);
SecretKey secretKey = keyGen.generateKey();
byte[] encodedKey = secretKey.getEncoded();
“编码密钥”每次在平台窗口、AIX、linux 上都给我相同的结果。 HP-Unix,但它在 Solaris 中给出不同的结果,似乎 setSeed() 不适用于 Solaris 或被绕过,
请帮帮我,从前两天开始我就在这个问题上崩溃了。
谢谢 希瓦姆
【问题讨论】:
-
为什么要将种子传递给安全的 PRNG?在可能有用的测试中(即使那是值得怀疑的),在生产代码中它肯定不是。如果您想从短密钥中获取随机数据,请使用定义明确的流密码(例如 AES-CTR)。
标签: security random cryptography