本文主要是介绍伪随机数和随机数种子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
随机数种子 + 伪随机数生成器 = 伪随机数生成
同样的随机数种子和同样的生成器总是生成同样的序列。
伪随机数是有周期的,多次运行后结果会出现重复。
真正的随机数必须使用专门的设备,比如热噪信号、量子力学的效应、放射性元素的衰退辐射,或使用无法预测的现象,譬如用户按键盘的位置与速度、用户运动鼠标的路径坐标等来产生。
来自 <https://zh.wikipedia.org/wiki/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%80%A7>
真随机数生成网站
这个网站可以免费提供真随机数的服务,并且可以自己设置上下限,通常用于重要场合。
来自 <https://blog.csdn.net/czc1997/article/details/78167705>
真随机数图像:
伪随机数图像:
来自 <https://blog.csdn.net/czc1997/article/details/78167705>
随机数下一个严密的定义很难。只能从性质去区分一些随机数的种类。
- 随机性 —— 不存在统计学偏差,是完全杂乱的数列
- 不可预测性 —— 不能从过去的数列推测出下一个出现的数
- 不可重现性 —— 除非将数列本身保存下来,否则不能重现相同的数列
随机性 | 不可预测性 | 不可重现性 |
| 备注 | 生成器 |
|
弱伪随机数 | ✅ | ❌ | ❌ | 只具备随机性 | 不可用于密码技术❌ | 伪随机数生成器 PRNG (Preudo Random Number Generator) |
强伪随机数 | ✅ | ✅ | ❌ | 具备不可预测性 | 可用于密码技术✅ | 密码学伪随机数生成器 CPRNG (Cryptography secure Preudo Random Number Generator) |
真随机数 | ✅ | ✅ | ✅ | 具备不可重现性 | 可用于密码技术✅ | 真随机数生成器 TRNG (True Random Number Generator) |
来自 <https://halfrost.com/random_number/>
这篇关于伪随机数和随机数种子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!