From 403b4d968eac04bd7b37ea980308b53d39ac8b9d Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 13 May 2025 12:55:33 +0800 Subject: [PATCH] test . --- .../Controllers/GainfoFacesController.cs | 148 +----------------- 1 file changed, 1 insertion(+), 147 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoFacesController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoFacesController.cs index 519ea32e..5f2f6ee1 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfoFacesController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoFacesController.cs @@ -51,7 +51,7 @@ public class GainfoFacesController : ControllerBase HttpUtillib.SetPlatformInfo(key, secret, "10.32.0.10"); var r = HttpUtillib.HttpPost(url, body, 15); - return Encoding.UTF8.GetString(r); + return Encoding.UTF8.GetString(r) + "\r\n " + body; // var headers = InitRequest(url, body, key, secret); // client.DefaultRequestHeaders.Accept.Clear(); @@ -65,150 +65,4 @@ public class GainfoFacesController : ControllerBase // var r = await client.PostAsync(url, content); // return await r.Content.ReadAsStringAsync(); } - - private static Dictionary InitRequest(string url, string body, string key, string secret) - { - var header = new Dictionary(); - - // Accept - header.Add("Accept", "application/json"); - - // ContentType - header.Add("Content-Type", "application/json; charset=utf-8"); - - //if POST content-md5,be careful it must be lower case. - string contentMd5 = computeContentMd5(body); - header.Add("content-md5", contentMd5); - - // x-ca-timestamp - string timestamp = ((DateTime.Now.Ticks - TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0)).Ticks) / 1000).ToString(); - header.Add("x-ca-timestamp", timestamp); - - // x-ca-nonce - string nonce = System.Guid.NewGuid().ToString(); - header.Add("x-ca-nonce", nonce); - - // x-ca-key - header.Add("x-ca-key", key); - - // build string to sign - string strToSign = buildSignString("POST", url, header); - string signedStr = computeForHMACSHA256(strToSign, secret); - - // x-ca-signature - header.Add("x-ca-signature", signedStr); - - return header; - } - - /// - /// 计算content-md5 - /// - /// - /// base64后的content-md5 - private static string computeContentMd5(string body) - { - MD5 md5 = new MD5CryptoServiceProvider(); - byte[] result = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(body)); - return Convert.ToBase64String(result); - } - - /// - /// 计算HMACSHA265 - /// - /// 待计算字符串 - /// 平台APPSecet - /// HMAXH265计算结果字符串 - private static string computeForHMACSHA256(string str, string secret) - { - var encoder = new System.Text.UTF8Encoding(); - byte[] secretBytes = encoder.GetBytes(secret); - byte[] strBytes = encoder.GetBytes(str); - var opertor = new HMACSHA256(secretBytes); - byte[] hashbytes = opertor.ComputeHash(strBytes); - return Convert.ToBase64String(hashbytes); - } - - /// - /// 计算签名字符串 - /// - /// HTTP请求方法,如“POST” - /// 接口Url,如/artemis/api/resource/v1/org/advance/orgList - /// 请求头 - /// 签名字符串 - private static string buildSignString(string method, string url, Dictionary header) - { - StringBuilder sb = new StringBuilder(); - sb.Append(method.ToUpper()).Append("\n"); - if (null != header) - { - if (null != header["Accept"]) - { - sb.Append((string)header["Accept"]); - sb.Append("\n"); - } - - if (header.Keys.Contains("Content-MD5") && null != header["Content-MD5"]) - { - sb.Append((string)header["Content-MD5"]); - sb.Append("\n"); - } - - if (null != header["Content-Type"]) - { - sb.Append((string)header["Content-Type"]); - sb.Append("\n"); - } - - if (header.Keys.Contains("Date") && null != header["Date"]) - { - sb.Append((string)header["Date"]); - sb.Append("\n"); - } - } - - // build and add header to sign - string signHeader = buildSignHeader(header); - sb.Append(signHeader); - sb.Append(url); - return sb.ToString(); - } - - /// - /// 计算签名头 - /// - /// 请求头 - /// 签名头 - private static string buildSignHeader(Dictionary header) - { - Dictionary sortedDicHeader = new Dictionary(); - sortedDicHeader = header; - var dic = from objDic in sortedDicHeader orderby objDic.Key ascending select objDic; - - StringBuilder sbSignHeader = new StringBuilder(); - StringBuilder sb = new StringBuilder(); - foreach (KeyValuePair kvp in dic) - { - if (kvp.Key.Replace(" ", "").Contains("x-ca-")) - { - sb.Append(kvp.Key + ":"); - if (!string.IsNullOrWhiteSpace(kvp.Value)) - { - sb.Append(kvp.Value); - } - - sb.Append("\n"); - if (sbSignHeader.Length > 0) - { - sbSignHeader.Append(","); - } - - sbSignHeader.Append(kvp.Key); - } - } - - header.Add("x-ca-signature-headers", sbSignHeader.ToString()); - - return sb.ToString(); - } } \ No newline at end of file