C++麦克风输入作为随机种子
C++ Microphone Input As A Random Seed
我目前正在玩一些密码学(在本例中为RSA公钥),为了生成随机密钥,我需要一个随机输入。我认为麦克风将是一个相对不可复制数据的好来源。有没有任何方法可以从麦克风中读取原始数据,从而用于种子srand?有没有更好的方法来获得纯随机种子?如果有,我该怎么做?
我在一台带内置麦克风的笔记本电脑上运行Windows 8,我使用的是g++编译器。
不要自己尝试从硬件中获取种子。操作系统比你更了解如何获得质量随机性。
在Linux上,正确的方法是读取/dev/urandom
(而不是/dev/random
;它实际上毫无价值)
在Windows上,Google指示您应该使用CryptGenRandom
功能。
相关文章:
- 如何使用要传递给 mt19937 的可选随机种子参数设计函数
- 如何使用可选的随机种子参数创建 roll_die() 函数
- 除了 rand() 之外,是否有任何随机生成器库,开发人员可以手动设置种子?
- 如果我在每个平台上使用相同的种子,随机结果会相同吗?
- 随机化种子值C
- 为什么使用迭代器时必须重新设定随机生成器种子?
- 在给定种子和偏移量的情况下生成下一个伪随机值
- 设置随机种子独立rmath库
- 与C++2011不相关的并行随机种子
- 我应该使用从std::random_device种子的随机引擎,还是每次都使用std::random_device
- 如何生成随机种子/哈希以使Rand实际上是随机的
- 生成一个随机种子给srand()-不是时间(NULL)
- 在哪里初始化随机种子以通过多个随机模块使用
- 为什么起始值会影响种子随机的结果
- 更改程序 C++ 中的随机种子
- C++麦克风输入作为随机种子
- 使用srand作为随机种子时出现重复输出
- 随机生成器,种子不工作
- 多精度随机生成器种子错误
- 在伪随机生成器中使用常量种子从UT和GUI中获得不相同的数字