From 8d0da03dcfde27e5316a09f9b639dca31aa385a5 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 17 十月 2025 00:42:54 +0800
Subject: [PATCH] 11
---
util/XkyApiHelper.cs | 105 ++++++++++++++++++++++++++--------------------------
1 files changed, 53 insertions(+), 52 deletions(-)
diff --git a/util/XkyApiHelper.cs b/util/XkyApiHelper.cs
index 09fb2c8..0a3159b 100644
--- a/util/XkyApiHelper.cs
+++ b/util/XkyApiHelper.cs
@@ -1,6 +1,9 @@
-锘縰sing System.Security.Cryptography;
+锘縰sing Newtonsoft.Json;
using System.Text;
-using Newtonsoft.Json;
+using NewPdaSqlServer.util;
+using System.Security.Cryptography;
+
+
namespace NewPdaSqlServer.util
{
@@ -20,11 +23,11 @@
//this.appSecret = "fa7c117c02fd4967849a612963c034ca";
//this.version = "1.0";
//姝e紡
- appKey = "edfa5f089979c94f2db47ab0b2cdc35d";
- operateCompanyCode = "25832037";
- ownerCompanyCode = "25832037";
- appSecret = "4e46a1b61c5a8ce2fb2a519120f59520";
- version = "1.0";
+ this.appKey = "edfa5f089979c94f2db47ab0b2cdc35d";
+ this.operateCompanyCode = "25832037";
+ this.ownerCompanyCode = "25832037";
+ this.appSecret = "4e46a1b61c5a8ce2fb2a519120f59520";
+ this.version = "1.0";
}
public string appKey { get; set; }
@@ -38,21 +41,20 @@
namespace NewPdaSqlServer.util
{
/// API鐩稿叧鍙傛暟瀹氫箟鐨勫叏灞�绫�
- public class ApiGlobal
+ public partial class ApiGlobal
{
- private static readonly object _lock = new();
- private static bool _initialized;
+ private static readonly object _lock = new object();
+ private static bool _initialized = false;
static ApiGlobal()
{
Init();
}
- public static SignConst signConst { get; set; }
-
public static void Init()
{
if (!_initialized)
+ {
lock (_lock)
{
if (!_initialized)
@@ -61,7 +63,10 @@
_initialized = true;
}
}
+ }
}
+
+ public static SignConst signConst { get; set; }
}
}
@@ -73,27 +78,28 @@
{
public static MD5 md5 = MD5.Create();
- public static string buildCurrentSign(
- IDictionary<string, string> parameters, string appSecret)
+ public static string buildCurrentSign(IDictionary<string, string> parameters, String appSecret)
{
try
{
- var secret = ":" + appSecret;
- IDictionary<string, string> sortedParams =
- new SortedDictionary<string, string>(parameters,
- StringComparer.Ordinal);
- var dem = sortedParams.GetEnumerator();
- var query = new StringBuilder();
+ string secret = ":" + appSecret;
+ IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters, StringComparer.Ordinal);
+ IEnumerator<KeyValuePair<string, string>> dem = sortedParams.GetEnumerator();
+ StringBuilder query = new StringBuilder();
while (dem.MoveNext())
{
- var key = dem.Current.Key;
- var value = dem.Current.Value;
- if (key == "sign") continue;
+ string key = dem.Current.Key;
+ string value = dem.Current.Value;
+ if (key == "sign")
+ {
+ continue;
+ }
if (!string.IsNullOrEmpty(key))
+ {
query.Append(value).Append(":");
+ }
}
-
- var strvalue = query.ToString().TrimEnd(':') + secret;
+ string strvalue = query.ToString().TrimEnd(':') + secret;
return MD5Encrypt32(strvalue);
}
catch (Exception)
@@ -104,20 +110,22 @@
public static string MD5Encrypt32(string text)
{
- var pwd = "";
+ string pwd = "";
// 鍔犲瘑鍚庢槸涓�涓瓧鑺傜被鍨嬬殑鏁扮粍锛岃繖閲岃娉ㄦ剰缂栫爜UTF8/Unicode鐨勯�夋嫨銆�
- var s = md5.ComputeHash(Encoding.UTF8.GetBytes(text));
+ byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(text));
// 閫氳繃浣跨敤寰幆锛屽皢瀛楄妭绫诲瀷鐨勬暟缁勮浆鎹负瀛楃涓诧紝姝ゅ瓧绗︿覆鏄父瑙勫瓧绗︽牸寮忓寲鎵�寰�
- for (var i = 0; i < s.Length; i++)
+ for (int i = 0; i < s.Length; i++)
+ {
//灏嗗緱鍒扮殑瀛楃涓蹭娇鐢ㄥ崄鍏繘鍒剁被鍨嬫牸寮忋�傛牸寮忓悗鐨勫瓧绗︽槸灏忓啓鐨勫瓧姣嶏紝濡傛灉浣跨敤澶у啓锛圶锛夊垯鏍煎紡鍚庣殑瀛楃鏄ぇ鍐欏瓧绗�
pwd = pwd + s[i].ToString("x2");
- return pwd.ToLower();
+ }
+ return pwd.ToString().ToLower();
}
public static long GetTimestamp(DateTime d)
{
- var ts = d.ToUniversalTime() - new DateTime(1970, 1, 1);
- return (long)ts.TotalSeconds; //绮剧‘鍒扮
+ TimeSpan ts = d.ToUniversalTime() - new DateTime(1970, 1, 1);
+ return (long)ts.TotalSeconds; //绮剧‘鍒扮
}
}
}
@@ -128,12 +136,9 @@
/// ApiCommonParam API璇锋眰瀵瑰簲鐨凜ommon鍙傛暟绫�
public class ApiCommonParam
{
- public ApiCommonParam()
- {
- }
+ public ApiCommonParam() { }
- public ApiCommonParam(string appKey, string version,
- string operateCompanyCode, string ownerCompanyCode, long timestamps)
+ public ApiCommonParam(string appKey, string version, string operateCompanyCode, string ownerCompanyCode, long timestamps)
{
this.appKey = appKey;
this.version = version;
@@ -142,13 +147,12 @@
this.timestamps = timestamps;
}
- public string appKey { get; set; } //appKey
- public string version { get; set; } //鎺ュ彛鐗堟湰
- public string ownerCompanyCode { get; set; } //鏁版嵁鎵�灞炲叕鍙哥紪鐮�
- public string operateCompanyCode { get; set; } //鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
- public string sign { get; set; } //绛惧悕
-
- public long timestamps { get; set; } //璇锋眰鐨勬椂闂存埑
+ public string appKey { get; set; }//appKey
+ public string version { get; set; }//鎺ュ彛鐗堟湰
+ public string ownerCompanyCode { get; set; }//鏁版嵁鎵�灞炲叕鍙哥紪鐮�
+ public string operateCompanyCode { get; set; }//鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
+ public string sign { get; set; }//绛惧悕
+ public long timestamps { get; set; }//璇锋眰鐨勬椂闂存埑
//public object reserver { get; set; }//鎵╁睍瀛楁
/// 鏋勯�犲璞�
@@ -156,10 +160,10 @@
{
// 纭繚鍒濆鍖栧畬鎴�
ApiGlobal.Init();
-
+
// 鏋勯�犲璞★紙鍘熸湁閫昏緫淇濇寔涓嶅彉锛�
- var param = new ApiCommonParam(
- ApiGlobal.signConst.appKey,
+ ApiCommonParam param = new ApiCommonParam(
+ ApiGlobal.signConst.appKey,
ApiGlobal.signConst.version,
ApiGlobal.signConst.operateCompanyCode,
ApiGlobal.signConst.ownerCompanyCode,
@@ -168,12 +172,9 @@
var jsonParam = JsonConvert.SerializeObject(param);
//JavaScriptSerializer json = new JavaScriptSerializer();
//string jsonParam = json.Serialize(param);
- var paramDict =
- JsonConvert.DeserializeObject<Dictionary<string, string>>(
- jsonParam);
- param.sign = SignUtils.buildCurrentSign(paramDict,
- ApiGlobal.signConst.appSecret);
+ var paramDict = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonParam);
+ param.sign = SignUtils.buildCurrentSign(paramDict, ApiGlobal.signConst.appSecret);
return param;
}
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3