亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在ASP.Net中實現(xiàn)RSA加密的方法

 更新時間:2013年11月07日 15:32:28   作者:  
這篇文章介紹了在ASP.Net中實現(xiàn)RSA加密的方法,有需要的朋友可以參考一下

在我們實際運(yùn)用中,加密是保證數(shù)據(jù)安全的重要手段。以前使用ASP時,對數(shù)據(jù)加密可以使用MD5和SHA1算法,這兩種算法雖然快捷有效,但是無法對通過它們加密的密文進(jìn)行反運(yùn)算,即是解密。因此需要解密數(shù)據(jù)的場合,這兩種方法就不太適合了。當(dāng)然你也可以自己編寫適用的加密和解密程序,不過這對編寫者的數(shù)學(xué)水平有很高的要求,一般人是很難做到的。

現(xiàn)在,隨著ASP.Net的推出,徹底改變了以前ASP下的編程模式。我們能夠利用.Net Framework中的類提供的加密服務(wù)來保證數(shù)據(jù)安全。目前應(yīng)用較為廣泛的加密方法是使用RSA算法進(jìn)行加密。在.Net Framework中與RSA加密算法相關(guān)的類主要有兩個:RSA 類和RSACryptoServiceProvider 類。按照MSDN的說法RSA 類是“表示 RSA 算法的所有實現(xiàn)均從中繼承的基類”,而RSACryptoServiceProvider 類是“使用加密服務(wù)提供程序 (CSP) 提供的 RSA 算法的實現(xiàn)執(zhí)行不對稱加密和解密”。另外,“表示 RSA 算法的標(biāo)準(zhǔn)參數(shù)”的RSAParameters 結(jié)構(gòu)也是很重要的,它保存了RSA算法的參數(shù)。

由于介紹RSA算法原理的文章或書籍比較多,大家可以參閱一下,在此就不復(fù)述了。下面著重介紹一下如何在ASP.Net中實現(xiàn)RSA加密。

RSA參數(shù)的產(chǎn)生:RSA參數(shù)的類型就是上面提到的RSAParameters 結(jié)構(gòu),查閱MSDN可知其包含了D、DP、DQ、Exponent、InverseQ、Modulus、P、Q八個字段。加密時僅需要Exponent和Modulus兩個值,可看成公鑰。解密時所有字段都需要,可看成私鑰。下面這段程序顯示了如何產(chǎn)生RSA兩個參數(shù):

復(fù)制代碼 代碼如下:

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
RSAParameters rsaParamsExcludePrivate=rsa.ExportParameters(false);
RSAParameters rsaParamsIncludePrivate=rsa.ExportParameters(true);

RSACryptoServiceProvider類的ExportParameters(bool)方法用于導(dǎo)出RSA參數(shù),true表示導(dǎo)出上述八個字段的“私鑰”,false表示導(dǎo)出“公鑰”。

使用RSA參數(shù)進(jìn)行加密解密:這一步需要把上面兩個參數(shù)導(dǎo)入到RSACryptoServiceProvider類對象中,再用它對數(shù)據(jù)進(jìn)行加密。如下面的代碼所示,我們可以寫一個函數(shù)來完成加密過程:

復(fù)制代碼 代碼如下:

Public byte [ ] RSAEncrypt ( byte [ ] b)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(rsaParamsExcludePrivate); //導(dǎo)入公鑰
byte [] EncryptedData=rsa.Encrypt(DataToEncrypt,false);
return EncryptedData;
}

解密時只要把rsa.ImportParameters(rsaParamsExcludePrivate)換成rsa.ImportParameters(rsaParamsExcludePrivate),再把Encrypt換成Decrypt就行了。

保存和加載RSA參數(shù):RSA參數(shù)可以保存為XML格式,下面代碼說明了如何保存和加載(只列出了關(guān)鍵部分)

保存:

復(fù)制代碼 代碼如下:

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
StreamWriter writer=new StreamWriter(@"d:\PublicAndPrivateKey.xml");
string PPKeyXml=rsa.ToXmlString(true);//保存私鑰 writer.Write(PPKeyXml);
writer.Close();
writer=new StreamWriter(@"d:\PublicKey.xml");
string PKeyXml=rsa.ToXmlString(false);//保存公鑰
writer.Write(PKeyXml);
writer.Close();

讀?。?/P>

復(fù)制代碼 代碼如下:

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
StreamReader reader=new StreamReader(@"d:\PublicKey.xml");
string PKey=reader.ReadToEnd();
rsa.FromXmlString(PKey);
reader.Close();
StreamReader reader=new StreamReader(@"d:\PublicAndPrivateKey.xml");
string PPKey=reader.ReadToEnd();
reader.Close();

ToXmlString和ExportParameters方法類似,false表示保存“公鑰”,true表示保存“私鑰”。

相關(guān)文章

  • Springboot服務(wù)Docker化自動部署的實現(xiàn)方法

    Springboot服務(wù)Docker化自動部署的實現(xiàn)方法

    這篇文章主要介紹了Springboot服務(wù)Docker化自動部署的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • ASP.NET Core 過濾器中使用依賴注入知識點總結(jié)

    ASP.NET Core 過濾器中使用依賴注入知識點總結(jié)

    在本篇文章里小編給大家分享的是關(guān)于ASP.NET Core 過濾器中使用依賴注入的相關(guān)知識點內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • 在ASP.NET中下載文件的實現(xiàn)代碼

    在ASP.NET中下載文件的實現(xiàn)代碼

    通過ASP.NET來下載文件,這個問題可大可小,我們先從小的開始。當(dāng)我們要讓用戶下載一個文件
    2012-02-02
  • asp.net core 獲取 MacAddress 地址方法示例

    asp.net core 獲取 MacAddress 地址方法示例

    這篇文章主要介紹了asp.net core獲取MacAddress地址方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 詳解IdentityServer4介紹和使用

    詳解IdentityServer4介紹和使用

    在.NETCORE中更傾向于使用Identityserver4組件來構(gòu)建認(rèn)證授權(quán)服務(wù),原因是IdentityServer4?是為ASP.NET?Core系列量身打造的一款基于?OpenID?Connect?和?OAuth?2.0?認(rèn)證框架,本文重點介紹IDS4實際使用過程中涉及到的技術(shù)點,感興趣的朋友一起看看吧
    2022-07-07
  • EF?Core基礎(chǔ)入門教程

    EF?Core基礎(chǔ)入門教程

    這篇文章介紹了EF?Core的基礎(chǔ)入門教程,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET XmlDocument類詳解

    ASP.NET XmlDocument類詳解

    這篇文章主要介紹了ASP.NET XmlDocument類詳解,本文講解了XmlDocument的屬性、XmlDocument的方法、XmlDocument的事件、XmlDocument的使用實例等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • asp.net 簡單工廠模式和工廠方法模式之論述

    asp.net 簡單工廠模式和工廠方法模式之論述

    簡單工廠模式的最大優(yōu)點在于工廠類中包含了必要的邏輯判斷,根據(jù)客戶端的選擇條件動態(tài)實例化相關(guān)的類,對于客戶端來說,去除了于具體產(chǎn)品的依賴
    2011-12-12
  • iis 服務(wù)器應(yīng)用程序不可用的解決方法

    iis 服務(wù)器應(yīng)用程序不可用的解決方法

    訪問頁面時提示 服務(wù)器應(yīng)用程序不可用,大家可以按照下面的方法重新注冊下,應(yīng)該能好點
    2008-11-11
  • ASP.Net中英文復(fù)合檢索文本框?qū)崿F(xiàn)思路及代碼

    ASP.Net中英文復(fù)合檢索文本框?qū)崿F(xiàn)思路及代碼

    前段時間,寫一個用戶部門的管理頁面,需要對后臺獲取的用戶數(shù)據(jù)實現(xiàn)英漢檢索功能于是就有了下文,編輯的很詳細(xì)圖文并茂呢?感興趣的你可不要錯過了哈,或許本文對你有所幫助呢
    2013-02-02

最新評論