Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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> :

using Microsoft.AspNetCore.Identity;

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");
}