为了好玩,我一直在试验加密方法。我使用的方法之一需要种子值。我想用真正的随机数来喂它。我知道在例如 C++ 中获取种子的标准方法是调用 time(NULL),但是由于这只是伪随机,我想知道是否有任何可靠的方法来收集真正的随机数。唯一的限制是它必须可以用 C、C++ 和 Java 实现。
提前谢谢你。
澄清:当我运行 Ubuntu 时,此代码必须运行 Windows 系统。
最佳答案
它们有很多,但您混淆了术语,因为任何熵位源都是随机数生成器。您实际上在考虑“伪随机数”。
也就是说,有许多不同的熵源方案。许多类 UNIX 系统都有一个/dev/random,它通过对缓存大小和内存内容等物理进程执行各种魔术来创建随机数。有更强的来源使用,例如,放射性衰变的事件间隔时间。
Fourmilab.ch 提供真正的随机数 here .
在黑暗中保存的 CCD work well .
Lava lamps很好。
关于java - 在种子中创造更高水平熵的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024211/