除了 rand() 之外,是否有任何随机生成器库,开发人员可以手动设置种子?
Is there any random generator library except rand(), which developer can manually set the seed?
我想验证如果种子相同,则生成的伪随机数是否相同。 使用 rand(( 是最简单的,但我正在寻找更安全的方法。 我发现将设备熵与 linux 的/dev/random 一起使用是非常可靠的,但找不到如何设置完全相同的种子。 我也尝试了窗口的cryptgenrandom,但找不到设置种子的方法。 我可以用那些使用设备东西的随机生成器制作手动种子吗? 或者有没有其他随机生成器库可以手动设置种子?
是的,<random>
允许这样做,切换到它是一个好主意。C++的<random>
库远远优于<stdlib>
的rand()
功能,每次都可以设置种子。您应该将<random>
用于您编写的任何生产代码。
除了 rand(( 之外,是否有任何随机生成器库,开发人员可以手动设置种子?
是的。 有许多可用的随机数生成器(大多数是可播种的(,并且它们都比rand()
更好(这很糟糕(。不要在生产代码中使用srand()
/rand()
。
查看<random>
标题。
我建议std::mt19937
用于非加密目的(确保正确播种,而不仅仅是使用单个int
(,并std::random_device
是否需要原始熵(请务必检查您的实现是否实际正确实现它,标准 - 错误恕我直言 - 允许它回退到 PRNG(。远离std::default_random_engine
,你不知道它会给你什么。
相关文章:
- 如何用RISC-V GD32VF103CBT6开发板卸载精确的ADC过采样
- 我正在开发服务器,ip作为参数传递不起作用
- 如何使用要传递给 mt19937 的可选随机种子参数设计函数
- 如何使用 GPS 和指南针开发点移动算法
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 使用AAR的虚幻安卓开发
- 从给定种子生成相同的随机数序列C++
- 为什么开发人员将C / C ++用于嵌入式系统,而不是像Python这样的高级语言与C相比?
- 如何使用可选的随机种子参数创建 roll_die() 函数
- 开发C++/地图中的控制台角色扮演游戏
- 测试驱动开发 c++:如何将对象添加到向量中,将歌曲添加到播放列表并对其进行测试
- 使用 AWS C++ 开发工具包分段上传 S3
- 如何在可视化代码中生成用于 c++ 开发的调试器?
- 是否可以为boost::random::uniform_int_distribution<>设置确定性种子?
- 与 AWS 开发工具包的链接问题
- CMake 工具链文件:嵌入式开发的适当值"CMAKE_SYSTEM_PROCESSOR"
- 错误:#include 在开发C++中嵌套得太深
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 使用给定种子生成的随机数序列是否保证在标准版本中相同?
- 除了 rand() 之外,是否有任何随机生成器库,开发人员可以手动设置种子?