我一直在使用rand()函数生成随机数。当我通过CWE检查工具检查我的代码时,它认为rand()是一个潜在的危险函数,并建议使用加密库。有没有人能详细解释一下?生成随机数的最佳且安全的替代方案是什么
发布于 2018-09-22 14:40:03
根据https://en.cppreference.com/w/cpp/numeric/random/rand的说法
不能保证所产生的随机序列的质量。在过去,rand()的一些实现在产生的序列的随机性、分布和周期方面存在严重缺陷(在一个众所周知的示例中,低位在调用之间简单地在1和0之间交替)。
对于严重的随机数生成需求,不建议使用rand()。建议使用C++11的随机数生成工具来代替rand()。(从C++11开始)
https://stackoverflow.com/questions/52454172
复制相似问题