| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using PTMedicalInsurance.Common;
- using Newtonsoft.Json.Linq;
- //using GMUtilLib;
- using PTMedicalInsurance.Variables;
- using Newtonsoft.Json;
- using SM2Crypto.Lib;
- namespace PTMedicalInsurance.Helper
- {
- class EncryptHelper
- {
- //private string ak = "1G94963I20403F60C80A00005FF7A699";
- //private string sk = "APyE9G1D+C8g3qV3Z6VshXztOa55YJBgwN+P4WqU5n0x";
- //private string appid = "1G94963HS03V3F60C80A00000DB330D8";
- //测试
- //private string ak = "1H1INA1L90OH3F60C80A00008119D616";
- //private string sk = "APCIAgJqh3+AcK/IXL1WJD130i2q+6UblRxQzus3+sVw";
- //private string appid = "1H1INA1L30OG3F60C80A0000DEE43558";
- //正式
- private string ak = "1H62Q1KH205K76430B0A0000BF149773";
- private string sk = "YbNObZNMdUgwgLUEyK4ixNSkaCF9OPtCdDth9APWYKU=";
- private string appid = "1H62Q1KGP05J76430B0A00007144E257";
- private string publicKey = "BIrhJIL0UTuC1+Oq50EhzCFNaSJcBwEe9fndgDsAM/1aZCxy77wROYHysAej7wyqAhi+qZcJVXmuj7NfDaHfD40="; //平台公钥 验签
- //private string publicKey = "BK3M7nR1/AvhakqYMK23Kdek9ts2Ov732kL9t1ACoSSLqbAL2+IejtmJeaeTUNqSuctoDCT4Gsd0AGt7ZTIzgqY="; //乌鲁木齐平台公钥 验签
- //public string encrypt(string data)
- //{
- // string encryptData = "";
- // try
- // {
- // encryptData = GMUtilLib.SignUtil.encryptMsg(appid, 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 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
- {
- //Global.writeLog("ak:" + appSecret + ";sk:" + privateKey + ";appid:" + appId, data, encryptData);
- }
- }
- 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);
- }
- }
- }
- }
|