| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using PTMedicalInsurance.Common;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Variables;
- using Newtonsoft.Json;
- using SM2Crypto.Lib;
- namespace PTMedicalInsurance.Helper
- {
- class EncryptHelper
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
- private string ak = "";
- private string sk = "";
- private string appid = "";
- private string publicKey = "";
- public EncryptHelper(string appId, string appSecret, string publicKey, string privateKey)
- {
- this.appid = appId;
- this.ak = appSecret;
- this.sk = privateKey;
- this.publicKey = publicKey;
- Global.writeLog($"appSecret:{ak} ;privateKey:{sk} ;appid:{appid};publicKey:{publicKey}");
- }
- public string encrypt(string data, ref string signText)
- {
- string encryptData = "";
- try
- {
- string strData = JsonConvert.SerializeObject(JObject.Parse(data), Newtonsoft.Json.Formatting.None);
- encryptData = SignUtils.encryptMsg(appid, ak, sk, strData, ref signText);
- return encryptData;
- }
- catch (Exception ex)
- {
- encryptData = ex.Message;
- return encryptData;
- }
- finally
- {
-
- }
- }
- public string sign(string data)
- {
- string encryptData = "";
- try
- {
- encryptData = SignUtils.signSm3WithSm2(ak, sk, data);
- return encryptData;
- }
- catch (Exception ex)
- {
- encryptData = ex.Message;
- return encryptData;
- }
- finally
- {
- Global.writeLog("ak:" + ak + ";sk:" + sk + ";appid:" + appid, data, encryptData);
- }
- }
- public string sortKeys(JObject obj) {
- StringBuilder sb = new StringBuilder();
- Dictionary<string, string> dict = new Dictionary<string, string>();
- foreach (var p in obj.Properties())
- {
- dict.Add(p.Name, p.Value.ToString());
- }
- string[] keys = dict.Keys.ToArray();
- Array.Sort(keys, string.CompareOrdinal);
- foreach (var k in keys)
- {
- if (sb.Length > 1)
- {
- sb.Append("&");
- }
- sb.Append(k);
- sb.Append("=");
- sb.Append(dict[k]);
- }
- return sb.ToString();
- }
- public bool verify(JObject signDto, string signData)
- {
- string error = "";
- try
- {
- bool b = SMUtil.verify(signDto, ak, publicKey, signData);
- if (b)
- {
- error = "成功";
- }
- else
- {
- error = "失败";
- }
- return b;
- }
- catch (Exception ex)
- {
- error = ex.Message;
- return false;
- }
- finally
- {
- Global.writeLog("验签:ak:" + ak + ";publicKey:" + publicKey + ";appid:" + appid, signDto.ToString() + ";" + signData, error);
- }
- }
- public string decrypt(string encryptData)
- {
- string data = "";
- try
- {
- data = SMUtil.decrypt(encryptData, appid, ak);
- return data;
- }
- catch (Exception ex)
- {
- data = ex.Message;
- return data;
- }
- finally
- {
- Global.writeLog("解密:ak:" + ak + ";sk:" + sk + ";appid:" + appid, encryptData, data);
- }
- }
- }
- }
|