// dnlib: See LICENSE.txt for more info namespace dnlib.DotNet { /// /// Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation /// public enum AssemblyHashAlgorithm : uint { /// None = 0, /// MD2 = 0x8001, /// MD4 = 0x8002, /// This is a reserved value in the CLI MD5 = 0x8003, /// The only algorithm supported by the CLI SHA1 = 0x8004, /// MAC = 0x8005, /// SSL3_SHAMD5 = 0x8008, /// HMAC = 0x8009, /// TLS1PRF = 0x800A, /// HASH_REPLACE_OWF = 0x800B, /// SHA_256 = 0x800C, /// SHA_384 = 0x800D, /// SHA_512 = 0x800E, } public static partial class Extensions { internal static string GetName(this AssemblyHashAlgorithm hashAlg) => hashAlg switch { AssemblyHashAlgorithm.MD2 => null, AssemblyHashAlgorithm.MD4 => null, AssemblyHashAlgorithm.MD5 => "MD5", AssemblyHashAlgorithm.SHA1 => "SHA1", AssemblyHashAlgorithm.MAC => null, AssemblyHashAlgorithm.SSL3_SHAMD5 => null, AssemblyHashAlgorithm.HMAC => null, AssemblyHashAlgorithm.TLS1PRF => null, AssemblyHashAlgorithm.HASH_REPLACE_OWF => null, AssemblyHashAlgorithm.SHA_256 => "SHA256", AssemblyHashAlgorithm.SHA_384 => "SHA384", AssemblyHashAlgorithm.SHA_512 => "SHA512", _ => null, }; } }