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