C# Невозможно найти Rfc2898DeriveBytes содержит конструктор, принимающий 4 аргументаC#

Место общения программистов C#
Ответить
Anonymous
 C# Невозможно найти Rfc2898DeriveBytes содержит конструктор, принимающий 4 аргумента

Сообщение Anonymous »


У меня есть приложение Windows, целевая платформа — .NET Framework 4.6.1

Я использую C# для хеширования паролей. Мой код

публичная строка HashPassword(строковый пароль) { байт[] соль = новый байт[128/8]; используя (var rng = новый RNGCryptoServiceProvider()) { rng.GetBytes(соль); } строка хеширована = ""; используя (var rfc = new Rfc2898DeriveBytes (пароль, соль, 100000, HashAlgorithmName.SHA512)) { //логическая реализация } } Я получил ошибку CS1729. «Rfc2898DeriveBytes» не содержит конструктор, принимающий 4 аргумента.

Я щелкаю правой кнопкой мыши Rfc2898DeriveBytes, затем перехожу к определению. В пространстве имен System.Security.Cryptography есть '''public Rfc2898DeriveBytes(строковый пароль, соль byte[], int итерации, HashAlgorithmName hashAlgorithm)''' ''' : this(new UTF8Encoding(encoderShouldEmitUTF8Identifier: false).GetBytes(пароль), соль, итерации, hashAlgorithm)'''

Итак, почему я получил сообщение об ошибке? Кажется, компилятор смотрит куда-то еще.

Спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»