当前位置:   article > 正文

加密强随机数 SecureRandom 详解_securerandom.setseed

securerandom.setseed

产生随机数存在的问题 :
1> 由于当种子相同的时候,生成的随机数完全相同
2> 当随机数生成量较大时,Random 存在性能问题

当需要大量随机数且对随机数安全性有要求的时候,使用 SecureRandom 更为合适

创建 SecureRandom 实例 :

SecureRandom secureRandom = new SecureRandom();
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG", "SUN");
  • 1
  • 2
  • 3

使用 SecureRandom :

// 生成种子
byte[] seed = SecureRandom.getSeed(16);
// 置入种子
secureRandom.setSeed(seed);
// 生成
int randomInt = secureRandom.nextInt(63);
// 重置种子
secureRandom.nextBytes(seed);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/413318
推荐阅读
相关标签
  

闽ICP备14008679号