非算法生成随机数

时间:2013-06-06 19:02:49

标签: random

我正在寻找一种如何生成随机数的令人满意的解决方案。

我查看了thisthisthisthis。 但我正在寻找别的东西。

大多数帖子提到使用,R [n + 1] =(a * R [n-1 + b)%n,这个伪随机函数,或其他一些数学函数。

但奇怪的是我不是在寻找这些;我想要一些非算法的答案。准确地说,是一个“采访”的答案。容易理解的东西,不是让面试官觉得我抢了一个方法:)。

2 个答案:

答案 0 :(得分:1)

对于面试问题,一个常见的答案可能是查看按键之间的间隔(要求用户输入内容),光盘寻道时间或来自断开连接源的输入 - 这将为您提供来自MIC内部的热电子插座或其他什么。

LavaRnd使用带有镜头盖的数码相机,这是最后一个版本。

某些操作系统允许间接访问某些随机输入,通常是通过安全随机函数;比通常的RNG更慢但更安全。

根据面试的工作,您可以讨论测试原始数据以检查熵,并使用SHA-256等加密哈希函数来集中熵。

还有专门的,昂贵的硬件卡,它们使用各种量子效应来生成真正的随机数。

答案 1 :(得分:0)

取系统时间,添加种子,模数上限。如果上限小于0而不是乘以-1然后结果减去最大...不是很强但是满足你的要求?

如果你有一个用户界面,只需要几个随机可以要求用户移动鼠标,输入一些种子,输入几个单词并将它们用作种子