Почему CWE считает rand () потенциально опасным - PullRequest
0 голосов
/ 22 сентября 2018

Я использовал функцию rand () для генерации случайных чисел.Когда я проверял свой код с помощью инструмента проверки CWE, он рассматривал rand () как потенциально опасную функцию и предлагал использовать криптографические библиотеки.Может кто-нибудь, пожалуйста, уточните это?Какова лучшая и безопасная альтернатива для генерации случайных чисел

1 Ответ

0 голосов
/ 22 сентября 2018

Согласно https://en.cppreference.com/w/cpp/numeric/random/rand:

Нет никаких гарантий относительно качества полученной случайной последовательности.В прошлом некоторые реализации rand () имели серьезные недостатки в случайности, распределении и периоде создаваемой последовательности (в одном хорошо известном примере бит младшего разряда просто чередовался между 1 и 0 между вызовами).

rand () не рекомендуется для серьезных задач генерации случайных чисел.Для замены rand () рекомендуется использовать средства генерации случайных чисел в C ++ 11.(начиная с C ++ 11)

...