真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何淺析.NETC#DES

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

為衛(wèi)輝等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及衛(wèi)輝網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、衛(wèi)輝網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

C# DES加密應(yīng)該是最基礎(chǔ)的加密算法,為了搞清楚它在.NET C#里面的用法,我費(fèi)了不少功夫,希望有心人能看到。C# DES一共就有4個(gè)參數(shù)參與運(yùn)作:明文、密文、密鑰、向量。為了初學(xué)者容易理解,可以把4個(gè)參數(shù)的關(guān)系寫成:密文=明文+密鑰+向量;明文=密文-密鑰-向量。為什么要向量這個(gè)參數(shù)呢?因?yàn)槿绻幸黄恼?,有幾個(gè)詞重復(fù),那么這個(gè)詞加上密鑰形成的密文,仍然會(huì)重復(fù),這給破解者有機(jī)可乘,破解者可以根據(jù)重復(fù)的內(nèi)容,猜出是什么詞,然而一旦猜對(duì)這個(gè)詞,那么,他就能算出密鑰,整篇文章就被破解了!加上向量這個(gè)參數(shù)以后,每塊文字段都會(huì)依次加上一段值,這樣,即使相同的文字,加密出來(lái)的密文,也是不一樣的,算法的安全性大大提高!

下面C# DES的應(yīng)用實(shí)例:

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

看完上述內(nèi)容,你們對(duì)如何淺析.NET C# DES有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


新聞名稱:如何淺析.NETC#DES
本文路徑:http://weahome.cn/article/jsspgc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部