24 lines
795 B
C#
24 lines
795 B
C#
using System;
|
|
|
|
namespace StellaOps.Cryptography;
|
|
|
|
/// <summary>
|
|
/// Well-known identifiers for password hashing algorithms supported by StellaOps.
|
|
/// </summary>
|
|
public static class PasswordHashAlgorithms
|
|
{
|
|
public const string Argon2id = "argon2id";
|
|
public const string Pbkdf2Sha256 = "pbkdf2-sha256";
|
|
|
|
/// <summary>
|
|
/// Converts the enum value into the canonical algorithm identifier string.
|
|
/// </summary>
|
|
public static string ToAlgorithmId(this PasswordHashAlgorithm algorithm) =>
|
|
algorithm switch
|
|
{
|
|
PasswordHashAlgorithm.Argon2id => Argon2id,
|
|
PasswordHashAlgorithm.Pbkdf2 => Pbkdf2Sha256,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(algorithm), algorithm, "Unsupported password hash algorithm.")
|
|
};
|
|
}
|