From 1293fea19c6a2b558986856e301d5218c1979692 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 十一月 2020 14:08:43 +0800 Subject: [PATCH] Revert "20201127 接受bus数据修改完成,搜索网关、一端口修改完成" --- HDL_ON/DAL/Server/HttpUtil.cs | 128 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 128 insertions(+), 0 deletions(-) diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs index 6784b4c..cbc603d 100644 --- a/HDL_ON/DAL/Server/HttpUtil.cs +++ b/HDL_ON/DAL/Server/HttpUtil.cs @@ -555,3 +555,131 @@ } + +namespace Shared.Securitys +{ + /// <summary> + /// + /// </summary> + public partial class EncryptionService + { + #region 鍔犲瘑 + /// <summary> + /// 鍔犲瘑涓婚涓築ase64 + /// </summary> + /// <param name="pToEncrypt"></param> + /// <param name="key"></param> + /// <returns></returns> + public static string AesEncryptTopic(string pToEncrypt, string key) + { + if (string.IsNullOrEmpty(pToEncrypt)) return null; + if (string.IsNullOrEmpty(key)) return pToEncrypt; + //闇�瑕佸姞瀵嗗唴瀹圭殑鏄庢枃娴� + Byte[] toEncryptArray = Encoding.UTF8.GetBytes(pToEncrypt); + + //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) + RijndaelManaged rm = new RijndaelManaged + { + Key = Encoding.UTF8.GetBytes(key), + IV = Encoding.UTF8.GetBytes(key), + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7 + }; + + //鍒涘缓AES鍔犲瘑鍣ㄥ璞� + ICryptoTransform cTransform = rm.CreateEncryptor(); + + //浣跨敤AES灏嗘槑鏂囨祦杞垚瀵嗘枃瀛楄妭鏁扮粍 + Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + + //灏咥ES鐢熸垚鐨勫瘑鏂囧瓧鑺傛暟缁勮浆鎴怋ase64瀛楃涓� + return Convert.ToBase64String(resultArray, 0, resultArray.Length); + } + + + /// <summary> + /// 鍔犲瘑璐熻浇涓轰簩杩涘埗娴� + /// </summary> + /// <param name="toEncryptArray"></param> + /// <param name="key"></param> + /// <returns></returns> + public static byte[] AesEncryptPayload(byte[] toEncryptArray, string key) + { + if (string.IsNullOrEmpty(key)) return toEncryptArray; + //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) + var rm = new RijndaelManaged + { + Key = Encoding.UTF8.GetBytes(key), + IV = Encoding.UTF8.GetBytes(key), + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7 + }; + + //鍒涘缓AES鍔犲瘑鍣ㄥ璞� + var cTransform = rm.CreateEncryptor(); + //浣跨敤AES灏嗘槑鏂囨祦杞垚瀵嗘枃瀛楄妭鏁扮粍 + return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + } + #endregion + + + #region 瑙e瘑 + /// <summary> + /// 瑙e瘑涓婚鏁版嵁 + /// </summary> + /// <param name="pToDecrypt"></param> + /// <param name="key"></param> + /// <returns></returns> + public static string AesDecryptTopic(string pToDecrypt, string key) + { + //AES瀵嗘枃Base64杞垚瀛楃涓� + Byte[] toEncryptArray = Convert.FromBase64String(pToDecrypt); + + //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) + RijndaelManaged rm = new RijndaelManaged + { + Key = Encoding.UTF8.GetBytes(key), + IV = Encoding.UTF8.GetBytes(key), + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7 + }; + + //鍒涘缓AES瑙e瘑鍣ㄥ璞� + ICryptoTransform cTransform = rm.CreateDecryptor(); + + //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁� + Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + + //杞垚瀛楃涓� + return Encoding.UTF8.GetString(resultArray); + } + + /// <summary> + /// 閲囩敤Aes瑙e瘑璐熻浇鏁版嵁 + /// </summary> + /// <param name="toEncryptArray"></param> + /// <param name="key"></param> + /// <returns></returns> + public static byte[] AesDecryptPayload(byte[] toEncryptArray, string key) + { + //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) + var rm = new RijndaelManaged + { + Key = Encoding.UTF8.GetBytes(key), + IV = Encoding.UTF8.GetBytes(key), + Mode = CipherMode.CBC, + Padding = PaddingMode.PKCS7 + }; + + //鍒涘缓AES瑙e瘑鍣ㄥ璞� + var cTransform = rm.CreateDecryptor(); + + //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁� + return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); + } + #endregion + + + + } +} -- Gitblit v1.8.0