Проблема сонара с генератором случайных чисел в C#

#c# #.net-core

Вопрос:

Я использовал приведенный ниже код для генерации случайного числа от 0 до 1000

 Random number = new Random();
number.Next(0, 1000);
 

Но в sonarqube это проблема, и я предлагаю пойти с этим

 var randomGenerator = RandomNumberGenerator.Create();
 

Как мы можем передать минимальное и максимальное значение в генератор случайных чисел.

Комментарии:

1. «это проблема», в чем проблема? Дает ли это какое-либо объяснение того, почему вы должны использовать второй подход?

2. Слабая Криптография, Система. Случайный класс полагается на генератор псевдослучайных чисел, который не должен использоваться в критически важных для безопасности приложениях

Ответ №1:

Вместо Create() этого вы можете использовать GetInt32() метод для генерации случайного числа для использования определенных границ RandomNumberGenerator . Пожалуйста, посмотрите приведенный ниже пример.

 var randomGenerator = RandomNumberGenerator.GetInt32(0, 1000);
Console.WriteLine(randomGenerator);