Files
Walleby/Bitvault/PasswordHasher.cs
T
2024-04-29 21:42:04 +01:00

20 lines
504 B
C#

using System.Security.Cryptography;
namespace Bitvault;
public class PasswordHasher :
IPasswordHasher
{
private const int SaltSize = 16;
public string HashPassword(string password, int iterations = 10000)
{
using Rfc2898DeriveBytes pbkdf2 = new(password, SaltSize, iterations, HashAlgorithmName.SHA256);
byte[] salt = pbkdf2.Salt;
byte[] hash = pbkdf2.GetBytes(32);
return $"{Convert.ToBase64String(salt)}:{Convert.ToBase64String(hash)}";
}
}