2023-02-16 13:42:13 +00:00
|
|
|
using System.Security.Cryptography;
|
|
|
|
|
|
|
|
namespace Backend.Utils;
|
|
|
|
|
2023-02-16 14:08:50 +00:00
|
|
|
public static class Crypto
|
2023-02-16 13:42:13 +00:00
|
|
|
{
|
2023-02-16 14:08:50 +00:00
|
|
|
public static String ComputeHash(Byte[] bytesToHash, Byte[] salt)
|
2023-02-16 13:42:13 +00:00
|
|
|
{
|
|
|
|
var byteResult = new Rfc2898DeriveBytes(bytesToHash, salt, 10000);
|
|
|
|
return Convert.ToBase64String(byteResult.GetBytes(24));
|
|
|
|
}
|
|
|
|
|
2023-02-16 14:08:50 +00:00
|
|
|
public static String GenerateSalt()
|
2023-02-16 13:42:13 +00:00
|
|
|
{
|
2023-02-16 14:08:50 +00:00
|
|
|
var bytes = new Byte[128 / 8];
|
|
|
|
var rng = RandomNumberGenerator.Create();
|
2023-02-16 13:42:13 +00:00
|
|
|
rng.GetBytes(bytes);
|
|
|
|
return Convert.ToBase64String(bytes);
|
|
|
|
}
|
|
|
|
}
|