java - 在种子中创造更高水平熵的方法

标签 java c++ c random entropy

为了好玩,我一直在试验加密方法。我使用的方法之一需要种子值。我想用真正的随机数来喂它。我知道在例如 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/

相关文章:

c++ - VS Express Edition 2008 中的 fatal error LNK2001 和 LNK1120

c++ - gtkmm 2.4 开罗时钟示例在修改为在 HBox 而不是主窗口内绘制时不起作用

c++ - SIMD -> uint16_t array to float array 在 float 上工作然后返回 uint16_t

c - 在字符串中搜索子字符串

java - Spring存储库中的Cassandra计数器数据类型操作

Java PriorityQueue<Integer> 未按预期排序

java - 我可以在 AWS Lambda 函数中发布 JSON 格式吗?

c - 如何正确地将函数返回的 const char* 转换为 C 中的 const char**?

c - 在c中表示 float

java - 没有 box2d 的 Libgdx 光