91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何淺析.NET C# DES

發布時間:2021-11-25 09:17:32 來源:億速云 閱讀:146 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關如何淺析.NET C# DES,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

C# DES加密應該是最基礎的加密算法,為了搞清楚它在.NET C#里面的用法,我費了不少功夫,希望有心人能看到。C# DES一共就有4個參數參與運作:明文、密文、密鑰、向量。為了初學者容易理解,可以把4個參數的關系寫成:密文=明文+密鑰+向量;明文=密文-密鑰-向量。為什么要向量這個參數呢?因為如果有一篇文章,有幾個詞重復,那么這個詞加上密鑰形成的密文,仍然會重復,這給破解者有機可乘,破解者可以根據重復的內容,猜出是什么詞,然而一旦猜對這個詞,那么,他就能算出密鑰,整篇文章就被破解了!加上向量這個參數以后,每塊文字段都會依次加上一段值,這樣,即使相同的文字,加密出來的密文,也是不一樣的,算法的安全性大大提高!

下面C# DES的應用實例:

 using System;  //這個是使用DES的基礎  using System.Security.Cryptography;  //這個是處理文字編碼的前提  using System.Text;  //以“流”的形式處理文字,也是微軟DES算法要求的  using System.IO;  ///  /// C# DES加密方法  ///  /// 明文 /// 密鑰 /// 向量 /// 密文 public string DESEncrypt(string strPlain,  string strDESKey,string strDESIV)  {   //把密鑰轉換成字節數組   byte[] bytesDESKey=ASCIIEncoding.ASCII.GetBytes(strDESKey);   //把向量轉換成字節數組   byte[] bytesDESIV=ASCIIEncoding.ASCII.GetBytes(strDESIV);   //聲明1個新的DES對象   DESCryptoServiceProvider desEncrypt=new DESCryptoServiceProvider();   //開辟一塊內存流   MemoryStream msEncrypt=new MemoryStream();   //把內存流對象包裝成加密流對象   CryptoStream csEncrypt=new CryptoStream(  msEncrypt,desEncrypt.CreateEncryptor(  bytesDESKey,bytesDESIV),CryptoStreamMode.Write);   //把加密流對象包裝成寫入流對象   StreamWriter swEncrypt=new StreamWriter(csEncrypt);   //寫入流對象寫入明文   swEncrypt.WriteLine(strPlain);   //寫入流關閉   swEncrypt.Close();   //加密流關閉   csEncrypt.Close();   //把內存流轉換成字節數組,內存流現在已經是密文了   byte[] bytesCipher=msEncrypt.ToArray();   //內存流關閉   msEncrypt.Close();   //把密文字節數組轉換為字符串,并返回   return UnicodeEncoding.Unicode.GetString(bytesCipher);  }  ///  /// C# DES解密方法  ///  /// 密文 /// 密鑰 /// 向量 /// 明文 public string DESDecrypt(string strCipher,  string strDESKey,string strDESIV)  {   //把密鑰轉換成字節數組   byte[] bytesDESKey=ASCIIEncoding.ASCII.GetBytes(strDESKey);   //把向量轉換成字節數組   byte[] bytesDESIV=ASCIIEncoding.ASCII.GetBytes(strDESIV);   //把密文轉換成字節數組   byte[] bytesCipher=UnicodeEncoding.Unicode.GetBytes(strCipher);   //聲明1個新的DES對象   DESCryptoServiceProvider desDecrypt=new DESCryptoServiceProvider();   //開辟一塊內存流,并存放密文字節數組   MemoryStream msDecrypt=new MemoryStream(bytesCipher);   //把內存流對象包裝成解密流對象   CryptoStream csDecrypt=new CryptoStream(  msDecrypt,desDecrypt.CreateDecryptor(  bytesDESKey,bytesDESIV),CryptoStreamMode.Read);   //把解密流對象包裝成讀出流對象   StreamReader srDecrypt=new StreamReader(csDecrypt);   //明文=讀出流的讀出內容   string strPlainText=srDecrypt.ReadLine();   //讀出流關閉   srDecrypt.Close();   //解密流關閉   csDecrypt.Close();   //內存流關閉   msDecrypt.Close();   //返回明文   return strPlainText;  }

看完上述內容,你們對如何淺析.NET C# DES有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌图县| 梁平县| 苏尼特左旗| 资阳市| 永川市| 安徽省| 城步| 湖南省| 永嘉县| 沧州市| 会同县| 措勤县| 阜平县| 五莲县| 宜州市| 库车县| 探索| 双城市| 瑞金市| 莱芜市| 大余县| 潮安县| 竹山县| 大埔县| 秭归县| 克东县| 台中县| 浪卡子县| 北碚区| 金湖县| 额敏县| 当阳市| 手游| 垦利县| 类乌齐县| 长垣县| 侯马市| 屏山县| 定兴县| 长宁区| 南丹县|