PIAPS_CW/BusinessLogic/Tools/PasswordHasher.cs
2024-06-05 15:13:27 +04:00

38 lines
1017 B
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace BusinessLogic.Tools
{
internal class PasswordHasher
{
/// <summary>
/// Хеширует с использование SHA256
/// </summary>
/// <param name="password">Пароль</param>
/// <returns>Хеш пароля</returns>
public static string Hash(string password)
{
using (SHA256 sha256 = SHA256.Create())
{
byte[] bytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(password));
return Convert.ToBase64String(bytes);
}
}
/// <summary>
/// Проверяет на соответствие пароля и его хеша
/// </summary>
/// <param name="password">Пароль</param>
/// <param name="passHash">Хеш пароля</param>
/// <returns></returns>
public static bool Verify(string password, string passHash)
{
var hash = Hash(password);
return hash == passHash;
}
}
}