欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

rsa加密算法使用示例分享

 更新時(shí)間:2014年01月11日 09:49:35   作者:  
這篇文章主要介紹了rsa加密算法使用示例,代碼中有注釋?zhuān)蠹覅⒖际褂冒?/div>

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

產(chǎn)生私鑰和公鑰
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到私鑰主要保存了RSAParameters中的8各參數(shù)
privateKey = myrsa.ToXmlString(true);
//得到公鑰保存了RSAParameters中2個(gè)參數(shù)
publicKey = myrsa.ToXmlString(false);

RAS實(shí)現(xiàn)加密
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到公鑰
myrsa.FromXmlString(publicKey);
//把你要加密的內(nèi)容轉(zhuǎn)換成byte[]
byte[] PlainTextBArray = (new UnicodeEncoding()).GetBytes("這里是你要加密的內(nèi)容");
//使用.NET中的Encrypt方法加密
byte[] CypherTextBArray = myrsa.Encrypt(PlainTextBArray, false);
//最后吧加密后的byte[]轉(zhuǎn)換成Base64String,這里就是加密后的內(nèi)容了
Result = Convert.ToBase64String(CypherTextBArray)


RAS實(shí)現(xiàn)解密
System.Security.Cryptography.RSACryptoServiceProvider myrsa = new RSACryptoServiceProvider();
//得到私鑰
myrsa.FromXmlString(xmlPrivateKey);
//把原來(lái)加密后的String轉(zhuǎn)換成byte[]
byte[] PlainTextBArray = Convert.FromBase64String("剛才加密后的string");
//使用.NET中的Decrypt方法解密
byte[] DypherTextBArray = myrsa.Decrypt(PlainTextBArray, false);
//轉(zhuǎn)換解密后的byte[],這就得到了我們?cè)瓉?lái)的加密前的內(nèi)容了
Result = (new UnicodeEncoding()).GetString(DypherTextBArray);


byte[] messagebytes = Encoding.UTF8.GetBytes("luo羅");
            RSACryptoServiceProvider oRSA = new RSACryptoServiceProvider();
            string privatekey = oRSA.ToXmlString(true);
            string publickey = oRSA.ToXmlString(false);

            //私鑰簽名 
            RSACryptoServiceProvider oRSA3 = new RSACryptoServiceProvider();
            oRSA3.FromXmlString(privatekey);
            byte[] AOutput = oRSA3.SignData(messagebytes, "SHA1");
            //公鑰驗(yàn)證 
            RSACryptoServiceProvider oRSA4 = new RSACryptoServiceProvider();
            oRSA4.FromXmlString(publickey);
            bool bVerify = oRSA4.VerifyData(messagebytes, "SHA1", AOutput);


相關(guān)文章

  • C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack)實(shí)例詳解

    C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack)實(shí)例詳解

    這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之堆棧(Stack),結(jié)合實(shí)例形式較為詳細(xì)的分析了堆棧的原理與C#實(shí)現(xiàn)堆棧功能的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • C#聊天程序服務(wù)端與客戶端完整實(shí)例代碼

    C#聊天程序服務(wù)端與客戶端完整實(shí)例代碼

    這篇文章主要介紹了C#聊天程序服務(wù)端與客戶端完整實(shí)例代碼,很經(jīng)典的應(yīng)用,需要的朋友可以參考下
    2014-07-07
  • C# 6.0 新特性匯總

    C# 6.0 新特性匯總

    這篇文章主要介紹了C# 6.0 新特性匯總的相關(guān)資料,本文給大家?guī)?lái)了11種新特征,非常不錯(cuò),感興趣的朋友一起看看吧
    2016-09-09
  • C#兩個(gè)相同屬性的類(lèi)賦值方法

    C#兩個(gè)相同屬性的類(lèi)賦值方法

    這篇文章主要介紹了C#兩個(gè)相同屬性的類(lèi)賦值方法的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • C#中DataGridView的樣式

    C#中DataGridView的樣式

    這篇文章主要介紹了C#中DataGridView的樣式設(shè)置方法,包括交替行顏色、單元格內(nèi)容有效性檢查、單元格的選擇模式等,需要的朋友可以參考下
    2015-02-02
  • C# linq查詢之動(dòng)態(tài)OrderBy用法實(shí)例

    C# linq查詢之動(dòng)態(tài)OrderBy用法實(shí)例

    這篇文章主要介紹了C# linq查詢之動(dòng)態(tài)OrderBy用法,實(shí)例分析了C#采用linq方式查詢時(shí)動(dòng)態(tài)排序的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 基于C# 寫(xiě)一個(gè) Redis 數(shù)據(jù)同步小工具

    基于C# 寫(xiě)一個(gè) Redis 數(shù)據(jù)同步小工具

    Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這篇文章主要介紹了用 C# 寫(xiě)一個(gè) Redis 數(shù)據(jù)同步小工具,需要的朋友可以參考下
    2020-02-02
  • C#多線程系列之多階段并行線程

    C#多線程系列之多階段并行線程

    本文詳細(xì)講解了C#多線程的多階段并行線程,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 重寫(xiě)、隱藏基類(lèi)(new, override)的方法

    重寫(xiě)、隱藏基類(lèi)(new, override)的方法

    重寫(xiě)、隱藏基類(lèi)(new, override)的方法,需要的朋友可以參考一下
    2013-03-03
  • Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)局域網(wǎng)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論