Rfc2898DeriveBytes.GetBytes(Int32) Метод

Определение

Возвращает псевдослучайный ключ для данного объекта.

C#
public override byte[] GetBytes(int cb);

Параметры

cb
Int32

Число генерируемых псевдослучайных байтов ключа.

Возвращаемое значение

Byte[]

Массив байтов, заполненный псевдослучайными байтами ключа.

Исключения

cb выходит за пределы диапазона. Значение этого параметра не должно быть отрицательным.

Примеры

В следующем примере показано, как использовать GetBytes метод для получения ключа для экземпляра Rfc2898DeriveBytes. Этот пример входит в состав более крупного примера использования класса Rfc2898DeriveBytes.

C#
            try
            {
                Rfc2898DeriveBytes k1 = new Rfc2898DeriveBytes(pwd1, salt1,
myIterations);
                Rfc2898DeriveBytes k2 = new Rfc2898DeriveBytes(pwd1, salt1);
                // Encrypt the data.
                Aes encAlg = Aes.Create();
                encAlg.Key = k1.GetBytes(16);
                MemoryStream encryptionStream = new MemoryStream();
                CryptoStream encrypt = new CryptoStream(encryptionStream,
encAlg.CreateEncryptor(), CryptoStreamMode.Write);
                byte[] utfD1 = new System.Text.UTF8Encoding(false).GetBytes(
data1);

Комментарии

Класс Rfc2898DeriveBytes реализует функциональные возможности PBKDF2 с помощью генератора псевдослучайных чисел на HMACSHA1основе . Класс Rfc2898DeriveBytes принимает пароль, соль и количество итераций, а затем создает ключи с помощью вызовов GetBytes метода . Неоднократные вызовы этого метода не будут генерировать один и тот же ключ; Вместо этого добавление двух вызовов GetBytes метода со значением 20cb параметра эквивалентно вызову GetBytes метода один раз со значением cb40параметра .

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

См. также раздел