首页 > 知识文集 > 想得到真正的随机数?从这几个技巧入手

想得到真正的随机数?从这几个技巧入手

来源:豪发知识网

众所周知,随机数是计算机科学的基本概念之一。在很多场景中随机数都非常重要,尤其是实际应用场景中,因为其中往往存在安全性的问题。 而获得真正随机数是非常困难的,因为计算机工作的本质上是一系列的运算和条件判定,这种方式获得的“随机数”往往不具备完全的随机特性。那么我们该如何得到更可信的随机数呢?

1.利用时间戳作为随机因子:我们可以利用当前时间戳作为随机因子,虽然时间戳也并不完全随机,但具有足够的复杂度,可以模拟随机特性,这是最简单最常用的方法之一。同时结合处理时间戳的算法最后结果依然是随机的,可以提高得到随机因子的概率。

2.利用物理事件作为随机因子:物理事件比如外界输入的鼠标点击、网卡的读取等等都是难以精确定位的,所以也可以作为随机因子,比如在浏览器中利用mouseevent事件作为随机数因子示例:window.addEventListener('mousemove', function(e){console.log(Math.random() e.screenX)}, false);。

3.利用硬件设备作为随机因子:这是最可靠的方法之一,因为当前计算机有很多硬件设备,比如熵值设备、热噪声设备等可以用来获取真正的随机数,但是因为这些硬件设备比较昂贵,所以使用的场景比较少。

相关信息