以下是使用C#编写的代码,实现对请求参数进行排序、拼接、MD5 加密并生成签名:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Security.Cryptography;\nusing System.Text;\nusing Newtonsoft.Json;\n\nnamespace SignatureGenerator\n{\n class Program\n {\n static void Main(string[] args)\n {\n Dictionary<string, string> parameters = new Dictionary<string, string>\n {\n { "page_no", "1" },\n { "page_limit", "100" },\n { "method", "ome.product.getList" },\n { "timestamp", "2019-11-19 09:22:11:182739" },\n { "node_id", "guanwang" },\n { "task", "192924792929100001" },\n { "v", "1.0" },\n { "isnew", "false" },\n { "shipping", "{\"shipping_company\":\"申通\"}\" }\n };\n\n string sortedParams = SortParameters(parameters);\n string md5Hash = CalculateMD5Hash(sortedParams);\n string finalSignature = md5Hash.ToUpper() + "app_secret";\n string finalMd5Hash = CalculateMD5Hash(finalSignature);\n string finalSignatureUpperCase = finalMd5Hash.ToUpper();\n\n Console.WriteLine("Final Signature: " + finalSignatureUpperCase);\n }\n\n static string SortParameters(Dictionary<string, string> parameters)\n {\n var sortedParams = parameters.Where(x => x.Value != null)\n .OrderBy(x => x.Key)\n .Select(x => $"{x.Key}{x.Value}")\n .ToArray();\n\n return string.Concat(sortedParams);\n }\n\n static string CalculateMD5Hash(string input)\n {\n using (var md5 = MD5.Create())\n {\n byte[] inputBytes = Encoding.UTF8.GetBytes(input);\n byte[] hashBytes = md5.ComputeHash(inputBytes);\n\n StringBuilder sb = new StringBuilder();\n for (int i = 0; i < hashBytes.Length; i++)\n {\n sb.Append(hashBytes[i].ToString("X2"));\n }\n\n return sb.ToString();\n }\n }\n }\n}\n\n\n请注意,在运行代码之前,请确保已安装 Newtonsoft.Json 包。可以通过 NuGet 包管理器控制台执行以下命令安装:Install-Package Newtonsoft.Json

C# 代码示例:对请求参数进行排序、拼接、MD5 加密并生成签名

原文地址: https://www.cveoy.top/t/topic/qlrr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录