c++ - 使用 C++ 生成真正的随机数 (Windows 10 x64)

我正在尝试创建一个密码生成器。我使用了random库,阅读文档后,我发现rand()依赖于算法和种子(srand()) >) 生成随机数。我尝试使用当前时间作为种子 (srand(time(0))),但这并不是真正随机的。有没有办法生成真正的随机数?或者也许非常准确地获取当前时间(例如,以微秒为单位)?我的平台是 Windows 10 x64。

最佳答案

不,这些不是真正的随机数。真正的随机性需要硬件支持。通常,它们通过对模拟生成的白噪声信号进行采样来工作。

您可能希望为随机生成器提供始终不同的值。调用 time() 即可完成此操作,或者您也可以通过当前 pid ( getpid() ) 对其进行哈希处理。

https://stackoverflow.com/questions/70531120/

相关文章:

r - 是否可以将变量从全局环境移动到单独的环境中?

javascript - 3 条件 - 三元条件链 JavaScript react

haskell - haskell 中有包含字符串和列表的类型吗?

javascript - 一键执行两个功能

c# - Entity Framework 排序列表

python - 如何解析 (1045, "Access denied for user ' Use

c++ - 即使在手动设置显示环境变量后,WSL Ubuntu 仍显示 "Error: Unable

julia - 如何在 Julia 中绘制复数?

android - Appium 创建 session 失败

r - 从向量中提取字符元素