繁体   English   中英

我应该更喜欢 ThreadLocalRandom 还是 SecureRandom?

[英]Should I prefer ThreadLocalRandom or SecureRandom?

我知道Random类会生成不安全的随机序列,在处理安全问题时我更喜欢使用SecureRandom 但是ThreadLocalRandom呢? 它或多或少是安全的?

// generate a five-digit numeric confirmation code
Long code = ThreadLocalRandom.current().nextLong(1, 99999);

如其 javadoc中所述, ThreadLocalRandom类似于Random (即不安全),但在并发访问的情况下具有更好的性能。

ThreadLocalRandom的实例在密码学上不是安全的。 考虑在安全敏感的应用程序中使用SecureRandom

ThreadLocalRandom类似于ThreadLocal<Random> ,它为每个线程创建Random实例。 这与密码学上下文中的安全性无关。

所以问题是RandomSecureRandom之间的区别是什么”实现。

SecureRandom的不同之处在于,它通过了密码学安全所需的测试 它完全通过了FIPS 140-2 (密码学中使用的生成器标准)指定的测试。 有关更多详细信息,请参阅SecureRandom javadoc。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM