代码对比
✕ Java 8
// Default algorithm — may not be
// the strongest available
SecureRandom random =
new SecureRandom();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
✓ Java 9+
// Platform's strongest algorithm
SecureRandom random =
SecureRandom.getInstanceStrong();
byte[] bytes = new byte[32];
random.nextBytes(bytes);
发现此代码有问题? 告诉我们。
为什么现代方式更好
最强可用
自动为平台选择最佳算法。
可配置
通过安全属性在不同环境中自定义算法。
意图清晰
getInstanceStrong() 明确表明您需要最强的实现。
旧方式
new SecureRandom()
现代方式
getInstanceStrong()
自 JDK
9
难度
入门
JDK 支持
强随机数生成
可用
自 JDK 9 起广泛可用(2017 年 9 月)
工作原理
getInstanceStrong() 返回由 securerandom.strongAlgorithms 安全属性配置的最强 SecureRandom 实现。它自动选择平台的最佳安全算法。
相关文档