0
私はWEBAPIコアプロジェクトに取り組んでいますし、作成したとき、私は塩とハッシュユーザーのパスワードを必要としているユーザ名とパスワードを検証します。 私はasp.netコアのためにこれを行うのに役立つかもしれないこのコードをオンラインで見つけました。のasp.net WEBAPIコアプロジェクト
はどのようにしてシステムにユーザー名とパスワードユーザーログインを検証していますか?
using System;
using System.Security.Cryptography;
using Microsoft.AspNetCore.Cryptography.KeyDerivation;
public class Program
{
public static void Main(string[] args)
{
Console.Write("Enter a password: ");
string password = Console.ReadLine();
// generate a 128-bit salt using a secure PRNG
byte[] salt = new byte[128/8];
using (var rng = RandomNumberGenerator.Create())
{
rng.GetBytes(salt);
}
Console.WriteLine($"Salt: {Convert.ToBase64String(salt)}");
// derive a 256-bit subkey (use HMACSHA1 with 10,000 iterations)
string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: password,
salt: salt,
prf: KeyDerivationPrf.HMACSHA1,
iterationCount: 10000,
numBytesRequested: 256/8));
Console.WriteLine($"Hashed: {hashed}");
}
}