refactor: Projektdateien migriert. Cloud-NuGet-Pakete durch lokale NuGet-Projekte ersetzt.
This commit is contained in:
31
HRD.LDAPService/JWT/JWTCrypt.cs
Normal file
31
HRD.LDAPService/JWT/JWTCrypt.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
namespace HRD.LDAPService.JWT
|
||||
{
|
||||
public static class JWTCrypt
|
||||
{
|
||||
public static string GenerateHashPassword(string inputKey)
|
||||
{
|
||||
return BCrypt.Net.BCrypt.EnhancedHashPassword(inputKey, 11, BCrypt.Net.HashType.SHA512);
|
||||
}
|
||||
|
||||
public static bool VerifyHashPassword(string hashedPassword, string providedPassword)
|
||||
{
|
||||
return BCrypt.Net.BCrypt.Verify(providedPassword, hashedPassword, true, BCrypt.Net.HashType.SHA512);
|
||||
}
|
||||
|
||||
public static string SHA512(string input)
|
||||
{
|
||||
var bytes = System.Text.Encoding.UTF8.GetBytes(input);
|
||||
using (var hash = System.Security.Cryptography.SHA512.Create())
|
||||
{
|
||||
var hashedInputBytes = hash.ComputeHash(bytes);
|
||||
|
||||
// Convert to text
|
||||
// StringBuilder Capacity is 128, because 512 bits / 8 bits in byte * 2 symbols for byte
|
||||
var hashedInputStringBuilder = new System.Text.StringBuilder(128);
|
||||
foreach (var b in hashedInputBytes)
|
||||
hashedInputStringBuilder.Append(b.ToString("X2"));
|
||||
return hashedInputStringBuilder.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user