From 5174e95a428876018ce3372f3dbc24b2861ea472 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 20 十一月 2019 16:11:54 +0800 Subject: [PATCH] 11.20 --- 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 old mode 100755 new mode 100644 index e051892..12fed74 --- 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