From caf9d97d5c445fa459b777c5569625bbfd0ff5fc Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 07 五月 2020 09:29:53 +0800
Subject: [PATCH] 2020-05-07-1
---
ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs
index e051892..12fed74 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/SecuritySet.cs
@@ -44,6 +44,68 @@
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
+ // <summary>
+ /// Aes鍔犲瘑鏁版嵁
+ /// 閲囩敤128浣嶏紙16瀛楄妭锛夊垎缁勫姞瀵嗗拰瑙e瘑鏁版嵁锛屽姞瀵嗘ā寮忎负CBC锛屽亸绉婚噺锛坕v锛夊拰瀵嗛挜涓�鑷达紝濉厖妯″紡閲囩敤pkcs5鎴杙kcs7锛屽姞瀵嗙粨鏋滆緭鍑篵ase64缂栫爜銆�
+ /// </summary>
+ /// <returns>The encrypt.</returns>
+ /// <param name="bytes">P to encrypt.</param>
+ /// <param name="key">Key.</param>
+ public static byte []AesEncryptBytes(byte[] bytes, string key)
+ {
+ if (bytes == null)
+ return null;
+
+ //閰嶇疆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(bytes, 0, bytes.Length);
+
+ //灏咥ES鐢熸垚鐨勫瘑鏂囧瓧鑺傛暟缁勮浆鎴怋ase64瀛楃涓�
+ //return Convert.ToBase64String(resultArray, 0, resultArray.Length);
+ }
+
+ /// <summary>
+ /// Aes 瑙e瘑鏁版嵁
+ /// </summary>
+ /// <returns>The decrypt.</returns>
+ /// <param name="pToDecrypt">P to decrypt.</param>
+ /// <param name="key">Key.</param>
+ public static byte []AesDecryptBytes(byte[] bytes, string key)
+ {
+ //AES瀵嗘枃Base64杞垚瀛楃涓�
+ var toEncryptArray = bytes;// Convert.FromBase64String(System.Text.Encoding.UTF8.GetString(bytes));
+
+ //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�)
+ var rm = new RijndaelManaged
+ {
+ Key = Encoding.UTF8.GetBytes(key),
+ IV = Encoding.UTF8.GetBytes(key),
+ //Mode = CipherMode.ECB,
+ Mode = CipherMode.CBC,
+ Padding = PaddingMode.PKCS7
+ };
+
+ //鍒涘缓AES瑙e瘑鍣ㄥ璞�
+ var cTransform = rm.CreateDecryptor();
+
+ //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁�
+ return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
+
+ //杞垚瀛楃涓�
+ //return Encoding.UTF8.GetString(resultArray);
+ }
+
/// <summary>
/// Aes 瑙e瘑鏁版嵁
/// </summary>
--
Gitblit v1.8.0