【发布时间】:2021-12-30 11:39:44
【问题描述】:
我正在尝试创建密码生成器。我使用了random 库,在阅读文档后,我发现rand() 依赖于算法和种子(srand())来生成随机数。我尝试使用当前时间作为种子(srand(time(0))),但这并不是真正随机的。有没有办法生成真正的随机数?或者可能非常准确地获取当前时间(例如,以微秒为单位)?我的平台是 Windows 10 x64。
【问题讨论】:
-
请参阅qrng.anu.edu.au,尽管这比通过 C++ 标准库提供给您的方法要慢几个数量级。
-
您最好使用操作系统的加密随机数生成器 api 或使用 openssl 或 crypto++ 之类的库