SecureRandom是强随机数生成器 , 它可以产生高强度的随机数 , 产生高强度的随机数依赖两个重要的因素:种子和算法 。算法是可以有很多的 , 通常如何选择种子是非常关键的因素 。Random的种子是System.currentTimeMillis() , 所以它的随机数都是可预测的 , 是弱伪随机数 。强伪随机数的生成思路:收集计算机的各种信息 , 键盘输入时间 , 内存使用状态 , 硬盘空闲空间 , IO延时 , 进程数量 , 线程数量等信息 , CPU时钟 , 来得到一个近似随机的种子 , 主要是达到不可预测性 。说的更通俗就是 , 使用加密算法生成很长的一个随机种子 , 让你无法猜测出种子 , 也就无法推导出随机序列数 。
总结今天我们探讨了业务中经常使用的随机数的一些机制和一些场景下的一些陷阱 , 希望你在使用随机数的时候能避免这种陷阱 。
推荐阅读
- 如何使用命令提示符更改计算机密码? 怎样用cmd命令提示符
- 农村家常腌制咸鸭蛋方法
- 铝箔是什么东西
- 智能时代众生相 中国家庭养育孩子的方式也AI化
- 灯笼椒和子弹头哪个香
- 外媒:中国引入人工智能技术优化居家养老服务
- 怎么限制手机APP使用流量
- 很多中国女孩死在柬埔寨做 老挝人对中国人的态度
- 大瓶怡宝多少升
- bealaity中文是什么