Password Hasher

Dans cette partie nous allons voir comment hasher un mot de passe pour le stocker en base de donnée.

Hasher un mot de passe

Pour hasher un mot de passe, on va utiliser la classe PasswordHasher<T> qui permet de dériver une clé à partir d'un mot de passe.

Prenons un classe User avec un champ Password :

public class User
{
    public string Password { get; set; }
}

Pour hasher le mot de passe, on va utiliser la classe PasswordHasher<T> :

var hasher = new PasswordHasher<User>();
var password = "LePasswordSecret";
var user = new User { Password = "" };

user.Password = hasher.HashPassword(user, password);

On peut maintenant vérifier si le mot de passe est correct :

var result = hasher.VerifyHashedPassword(user, user.Password, password);
if (result == PasswordVerificationResult.Success)
{
    Console.WriteLine("Mot de passe correct");
}
else
{
    Console.WriteLine("Mot de passe incorrect");
}