Java HmacUtils(HmacAlgorithms algorithm, String key) 方法 C# 实现
在C#中,可以使用`System.Security.Cryptography.HMAC`类来实现Java中的HmacUtils方法。\n\n首先,需要引入`System.Security.Cryptography`命名空间。\n\n然后,可以通过以下方式使用`HMAC`类来计算HMAC值:\n\ncsharp\nusing System;\nusing System.Security.Cryptography;\nusing System.Text;\n\npublic class HmacUtils\n{\n public static string ComputeHmac(HmacAlgorithm algorithm, string key, string message)\n {\n byte[] keyBytes = Encoding.UTF8.GetBytes(key);\n byte[] messageBytes = Encoding.UTF8.GetBytes(message);\n\n HMAC hmac;\n\n switch (algorithm)\n {\n case HmacAlgorithm.HmacMD5:\n hmac = new HMACMD5(keyBytes);\n break;\n case HmacAlgorithm.HmacSHA1:\n hmac = new HMACSHA1(keyBytes);\n break;\n case HmacAlgorithm.HmacSHA256:\n hmac = new HMACSHA256(keyBytes);\n break;\n // Add more cases for other HMAC algorithms if needed\n default:\n throw new ArgumentException("Invalid algorithm");\n }\n\n byte[] hmacBytes = hmac.ComputeHash(messageBytes);\n\n return Convert.ToBase64String(hmacBytes);\n }\n}\n\npublic enum HmacAlgorithm\n{\n HmacMD5,\n HmacSHA1,\n HmacSHA256\n}\n\npublic class Program\n{\n public static void Main(string[] args)\n {\n string key = "your_key";\n string message = "your_message";\n string hmac = HmacUtils.ComputeHmac(HmacAlgorithm.HmacSHA256, key, message);\n \n Console.WriteLine(hmac);\n }\n}\n\n\n在上述示例中,`ComputeHmac`方法接受一个`HmacAlgorithm`参数,该参数用于指定要使用的HMAC算法。然后根据算法初始化相应的`HMAC`对象,并使用给定的密钥和消息计算HMAC值。最后,将计算得到的HMAC值转换为Base64编码的字符串并返回。\n\n你可以根据需要选择适合的`HmacAlgorithm`枚举值,例如`HmacAlgorithm.HmacMD5`、`HmacAlgorithm.HmacSHA1`或`HmacAlgorithm.HmacSHA256`。
原文地址: https://www.cveoy.top/t/topic/psGO 著作权归作者所有。请勿转载和采集!