naX*_*aXa 5 java security random
我知道Random该类会产生不安全的随机序列,我更倾向于SecureRandom在处理安全性时使用.但那怎么样ThreadLocalRandom?它或多或少安全吗?
// generate a five-digit numeric confirmation code
Long code = ThreadLocalRandom.current().nextLong(1, 99999);
Run Code Online (Sandbox Code Playgroud)
ThreadLocalRandom类似于ThreadLocal<Random>为Random每个线程创建实例。这与加密上下文中的安全性无关。
因此,问题是“ Random和SecureRandom实现之间的区别是什么”。
SecureRandom不同之处在于,它通过了加密安全性所需的测试。它确实通过了FIPS 140-2(密码学生成器的标准)指定的测试。有关更多详细信息,请参见SecureRandom javadoc。