EncryptHelper.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using GMUtilLib;
  7. using PTMedicalInsurance.Variables;
  8. using Newtonsoft.Json.Linq;
  9. using Newtonsoft.Json;
  10. using SM2Crypto.Lib;
  11. using PTMedicalInsurance.Common;
  12. namespace PTMedicalInsurance.Helper
  13. {
  14. class EncryptHelper
  15. {
  16. /// <summary>
  17. /// 移动支付加密
  18. /// </summary>
  19. /// <param name="data"></param>
  20. /// <param name="signText"></param>
  21. /// <returns></returns>
  22. public string encrypt(string data, ref string signText)
  23. {
  24. string encryptData = "";
  25. try
  26. {
  27. string strData = JsonConvert.SerializeObject(JObject.Parse(data), Newtonsoft.Json.Formatting.None);
  28. encryptData = SignUtils.encryptMsg(Global.inf.appId, Global.inf.AK, Global.inf.SK, strData, ref signText);
  29. return encryptData;
  30. }
  31. catch (Exception ex)
  32. {
  33. encryptData = ex.Message;
  34. return encryptData;
  35. }
  36. finally
  37. {
  38. //Global.writeLog("ak:" + appSecret + ";sk:" + privateKey + ";appid:" + appId, data, encryptData);
  39. }
  40. }
  41. public string encrypt(string data)
  42. {
  43. string encryptData = "";
  44. try
  45. {
  46. encryptData = GMUtilLib.SignUtil.encryptMsg(Global.inf.appId, Global.inf.AK, Global.inf.SK, data);
  47. return encryptData;
  48. }
  49. catch (Exception ex)
  50. {
  51. encryptData = ex.Message;
  52. return encryptData;
  53. }
  54. finally
  55. {
  56. Global.writeLog("ak:" + Global.inf.AK + ";sk:" + Global.inf.SK + ";appid:" + Global.inf.appId, data, encryptData);
  57. }
  58. }
  59. public string sign(string data)
  60. {
  61. string encryptData = "";
  62. try
  63. {
  64. encryptData = GMUtilLib.SignUtil.signSm3WithSm2(Global.inf.appId, Global.inf.AK, Global.inf.SK, data);
  65. return encryptData;
  66. }
  67. catch (Exception ex)
  68. {
  69. encryptData = ex.Message;
  70. return encryptData;
  71. }
  72. finally
  73. {
  74. Global.writeLog("ak:" + Global.inf.AK + ";sk:" + Global.inf.SK + ";appid:" + Global.inf.appId, data, encryptData);
  75. }
  76. }
  77. public int verify(string data,string encryptData)
  78. {
  79. string error ="";
  80. try
  81. {
  82. if (GMUtilLib.SignUtil.verifySm3WithSm2(data, Global.inf.AK, encryptData, Global.inf.SK)) return 0; else return -1;
  83. }
  84. catch (Exception ex)
  85. {
  86. error = ex.Message;
  87. return -1;
  88. }
  89. finally
  90. {
  91. Global.writeLog("ak:" + Global.inf.AK + ";sk:" + Global.inf.SK + ";appid:" + Global.inf.appId, data + ";" + encryptData, error);
  92. }
  93. }
  94. public bool verify(JObject signDto, string signData)
  95. {
  96. string error = "";
  97. try
  98. {
  99. bool b = SMUtil.verify(signDto, Global.inf.AK, Global.inf.publicKey, signData);
  100. if (b)
  101. {
  102. error = "成功";
  103. }
  104. else
  105. {
  106. error = "失败";
  107. }
  108. return b;
  109. }
  110. catch (Exception ex)
  111. {
  112. error = ex.Message;
  113. return false;
  114. }
  115. finally
  116. {
  117. Global.writeLog("验签:ak:" + Global.inf.AK + ";publicKey:" + Global.inf.publicKey + ";appid:" + Global.inf.appId, signDto.ToString() + ";" + signData, error);
  118. }
  119. }
  120. public string decrypt(string encryptData)
  121. {
  122. string data = "";
  123. try
  124. {
  125. data = GMUtilLib.SignUtil.decryptMsg(Global.inf.AK, Global.inf.SK, encryptData);
  126. return data;
  127. }
  128. catch (Exception ex)
  129. {
  130. data = ex.Message;
  131. return data;
  132. }
  133. finally
  134. {
  135. Global.writeLog("ak:" + Global.inf.AK + ";sk:" + Global.inf.SK + ";appid:" + Global.inf.appId, encryptData, data);
  136. }
  137. }
  138. public string decrypt00(string encryptData)
  139. {
  140. string data = "";
  141. try
  142. {
  143. data = SMUtil.decrypt(encryptData, Global.inf.appId, Global.inf.AK);
  144. return data;
  145. }
  146. catch (Exception ex)
  147. {
  148. data = ex.Message;
  149. return data;
  150. }
  151. finally
  152. {
  153. Global.writeLog("解密:ak:" + Global.inf.AK + ";sk:" + Global.inf.SK + ";appid:" + Global.inf.appId, encryptData, data);
  154. }
  155. }
  156. }
  157. }