Refactor deployment script and replace RNGCryptoServiceProvider
Some checks failed
Build .NET Project / build (push) Has been cancelled
Some checks failed
Build .NET Project / build (push) Has been cancelled
This commit is contained in:
@@ -16,21 +16,36 @@ namespace MarketData.Security
|
||||
}
|
||||
}
|
||||
|
||||
// public static (string Salt, string Hash) HashPasswordWithSalt(string password)
|
||||
// {
|
||||
// using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
|
||||
// {
|
||||
// byte[] salt = new byte[16];
|
||||
// rng.GetBytes(salt);
|
||||
// using (SHA256 sha256 = SHA256.Create())
|
||||
// {
|
||||
// byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
|
||||
// byte[] saltedPassword = new byte[passwordBytes.Length + salt.Length];
|
||||
// Buffer.BlockCopy(passwordBytes, 0, saltedPassword, 0, passwordBytes.Length);
|
||||
// Buffer.BlockCopy(salt, 0, saltedPassword, passwordBytes.Length, salt.Length);
|
||||
// byte[] hashBytes = sha256.ComputeHash(saltedPassword);
|
||||
// return (Convert.ToBase64String(salt), Convert.ToBase64String(hashBytes));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
public static (string Salt, string Hash) HashPasswordWithSalt(string password)
|
||||
{
|
||||
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
|
||||
byte[] salt = new byte[16];
|
||||
RandomNumberGenerator.Fill(salt);
|
||||
using (SHA256 sha256 = SHA256.Create())
|
||||
{
|
||||
byte[] salt = new byte[16];
|
||||
rng.GetBytes(salt);
|
||||
using (SHA256 sha256 = SHA256.Create())
|
||||
{
|
||||
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
|
||||
byte[] saltedPassword = new byte[passwordBytes.Length + salt.Length];
|
||||
Buffer.BlockCopy(passwordBytes, 0, saltedPassword, 0, passwordBytes.Length);
|
||||
Buffer.BlockCopy(salt, 0, saltedPassword, passwordBytes.Length, salt.Length);
|
||||
byte[] hashBytes = sha256.ComputeHash(saltedPassword);
|
||||
return (Convert.ToBase64String(salt), Convert.ToBase64String(hashBytes));
|
||||
}
|
||||
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
|
||||
byte[] saltedPassword = new byte[passwordBytes.Length + salt.Length];
|
||||
Buffer.BlockCopy(passwordBytes, 0, saltedPassword, 0, passwordBytes.Length);
|
||||
Buffer.BlockCopy(salt, 0, saltedPassword, passwordBytes.Length, salt.Length);
|
||||
byte[] hashBytes = sha256.ComputeHash(saltedPassword);
|
||||
return (Convert.ToBase64String(salt), Convert.ToBase64String(hashBytes));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user