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)'''

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

Спасибо

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