RandomNumberGenerator
Генератор нужен для ключей и
солей:
System.Random для этого
не подходит.
Экземпляр открывают через
Create в
using.
Байты -
GetBytes,
целое -
GetInt32,
отрезок -
Fill.
Синтаксис
using System.Security.Cryptography;
using RandomNumberGenerator rng = RandomNumberGenerator.Create();
Пример
Давайте получить четыре байта через статический вызов:
using System;
using System.Security.Cryptography;
class Program
{
static void Main()
{
byte[] buffer = RandomNumberGenerator.GetBytes(4);
bool res = buffer.Length == 4;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте заполнить массив через
Create:
using System;
using System.Security.Cryptography;
class Program
{
static void Main()
{
using RandomNumberGenerator rng =
RandomNumberGenerator.Create();
byte[] buffer = new byte[4];
rng.GetBytes(buffer);
bool res = buffer.Length == 4;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить диапазон
GetInt32:
using System;
using System.Security.Cryptography;
class Program
{
static void Main()
{
int value = RandomNumberGenerator.GetInt32(1, 4);
bool res = value >= 1 && value < 4;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True