internal static string EncodeHash(HashEncoding encoding, byte[] hash) { return(encoding switch { Tasks.HashEncoding.Hex => ConversionUtilities.ConvertByteArrayToHex(hash), Tasks.HashEncoding.Base64 => Convert.ToBase64String(hash), _ => throw new NotImplementedException(), });
public string ComputeHash(string message) { // TODO: Decide if hard-coding to HMAC256 is best to promote simplicity over extensibility using (var hmac = new HMACSHA256(KeyBytes)) { var messageBytes = HashEncoding.GetBytes(message); var digest = hmac.ComputeHash(messageBytes); return(HashEncoding.GetString(digest)); } }
internal static string EncodeHash(HashEncoding encoding, byte[] hash) { switch (encoding) { case Tasks.HashEncoding.Hex: return(ConversionUtilities.ConvertByteArrayToHex(hash)); case Tasks.HashEncoding.Base64: return(Convert.ToBase64String(hash)); default: throw new NotImplementedException(); } }
internal static bool TryParseHashEncoding(string value, out HashEncoding encoding) => Enum.TryParse <HashEncoding>(value, /*ignoreCase:*/ true, out encoding);