公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#對稱加密(AES加密)每次生成的結果都不同的實現思路和代碼實例

admin
2023年3月22日 18:28 本文熱度 1248

這篇文章主要介紹了C#對稱加密(AES加密)每次生成的結果都不同的實現思路和代碼實例,每次解密時從密文中截取前16位,這就是實現隨機的奧秘,本文同時給出了實現代碼,需要的朋友可以參考下。

思路:使用隨機向量,把隨機向量放入密文中,每次解密時從密文中截取前16位,其實就是我們之前加密的隨機向量。

代碼:

  1. public static string Encrypt(string plainText, string AESKey) 

  2. RijndaelManaged rijndaelCipher = new RijndaelManaged(); 

  3. byte[] inputByteArray = Encoding.UTF8.GetBytes(plainText);//得到需要加密的字節數組 

  4. rijndaelCipher.Key = Convert.fromBase64String(AESKey);//加解密雙方約定好密鑰:AESKey 

  5. rijndaelCipher.GenerateIV(); 

  6. byte[] keyIv = rijndaelCipher.IV; 

  7. byte[] cipherBytes = null

  8. using (MemoryStream ms = new MemoryStream()) 

  9. using (CryptoStream cs = new CryptoStream(ms, rijndaelCipher.createEncryptor(), CryptoStreamMode.Write)) 

  10. cs.Write(inputByteArray, 0, inputByteArray.Length); 

  11. cs.FlushFinalBlock(); 

  12. cipherBytes = ms.ToArray();//得到加密后的字節數組 

  13. cs.Close(); 

  14. ms.Close(); 

  15. var allEncrypt = new byte[keyIv.Length + cipherBytes.Length]; 

  16. Buffer.BlockCopy(keyIv, 0, allEncrypt, 0, keyIv.Length); 

  17. Buffer.BlockCopy(cipherBytes, 0, allEncrypt, keyIv.Length * sizeof(byte), cipherBytes.Length); 

  18. return Convert.ToBase64String(allEncrypt); 

  19.  

  20. public static string Decrypt(string showText, string AESKey) 

  21. string result = string.Empty; 

  22. try 

  23. byte[] cipherText = Convert.fromBase64String(showText); 

  24. int length = cipherText.Length; 

  25. SymmetricAlgorithm rijndaelCipher = Rijndael.create(); 

  26. rijndaelCipher.Key = Convert.fromBase64String(AESKey);//加解密雙方約定好的密鑰 

  27. byte[] iv = new byte[16]; 

  28. Buffer.BlockCopy(cipherText, 0, iv, 0, 16); 

  29. rijndaelCipher.IV = iv; 

  30. byte[] decryptBytes = new byte[length - 16]; 

  31. byte[] passwdText = new byte[length - 16]; 

  32. Buffer.BlockCopy(cipherText, 16, passwdText, 0, length - 16); 

  33. using (MemoryStream ms = new MemoryStream(passwdText)) 

  34. using (CryptoStream cs = new CryptoStream(ms, rijndaelCipher.createDecryptor(), CryptoStreamMode.Read)) 

  35. cs.Read(decryptBytes, 0, decryptBytes.Length); 

  36. cs.Close(); 

  37. ms.Close(); 

  38. result = Encoding.UTF8.GetString(decryptBytes).Replace("/0"""); ///將字符串后尾的'/0'去掉 

  39. catch { } 

  40. return result; 

調用: 

  1. string jiaMi = MyAESTools.Encrypt(textBox1.Text, "abcdefgh12345678abcdefgh12345678"); 

  2.  

  3. string jieMi = MyAESTools.Decrypt(textBox3.Text, "abcdefgh12345678abcdefgh12345678"); 


該文章在 2023/3/22 18:28:42 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 二区三区蜜臀 | 91成人网址 | 国产女人乱人伦精品一区二区 | 91午夜福利国产 | 91久久丝袜人妻一区二区 | 国产成人无码一区二区在线观看 | 精品国产一区二区三区国产馆 | 国产sm重味一区二 | 国产亚洲成av人片在线观看 | 国内精品久久人妻无码 | 韩国三级在线中文字幕无码 | 91羞羞网站 | 国产一精品一av一免费爽爽 | 91制片国产自产在线观看 | 国产在线观看www污污污 | 高清中文字幕在线a片 | 韩国午夜福利理论片在线观看 | 精品日韩妖精视频在线观看免费 | 国产在线精品99 | 国产精品日韩欧美在线第3页 | av永久天堂一区 | 国产成人无码∨a在线观看 国产成人无码18禁午夜福利p | 国产一区二区三区高清av | 国产寡妇高潮一级毛 | 国产成人一区二区 | 国产精品美脚玉足脚交欧美 | 国产成人综合欧美视频 | 国产精品视频人人做人人爽 | 国产肥白大熟妇bbbb视频 | 精品无码久久久久国产一区二区 | 超大乳抖乳露双乳呻吟 | 国产精品原创巨作av | 国产精品一区一区三区在线 | 成人精品日本亚洲成熟 | 国产精品无码av片在线观看播 | 国产午夜亚洲精品国产 | 99精品国产免费观观 | 国产亚洲精品久久久无码 | 99精品国产高清一区二区麻豆 | 国产高清在线精品一区免费 | 国产一区二区在线观看动漫 |