Pbkdf2 Как проверить хешированный пароль? - PullRequest
0 голосов
/ 04 ноября 2019

Я использую следующий код для хэширования паролей с использованием Pbkdf2:

private string HashPassword(string password)
        {
            // generate a 128-bit salt using a secure PRNG
            byte[] salt = new byte[128 / 8];
            using (var rng = RandomNumberGenerator.Create())
            {
                rng.GetBytes(salt);
            }

            // derive a 256-bit subkey (use HMACSHA1 with 10,000 iterations)
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                password: password,
                salt: salt,
                prf: KeyDerivationPrf.HMACSHA1,
                iterationCount: 10000,
                numBytesRequested: 256 / 8));

            return hashedPassword;
        }

Как проверить пароль для аутентификации? Кажется, мне нужно использовать соль для хеширования пароля. Как мне это получить? Обратите внимание, что я не использую отдельное поле для хранения хэша. В базе данных хранится только хешированный пароль.

...