用C#實(shí)現(xiàn)RSA加密的一個(gè)小例子
系統(tǒng)
3261 0
整個(gè)算法的流程是:
接收方先同時(shí)生成公鑰和私鑰, 再把公鑰傳遞給發(fā)送方, 發(fā)送方收到公鑰后, 用此公鑰將自己的明文加密, 然后將加密后的密文傳遞給接收方, 接收方用自己的私鑰解密得到明文. 以下是演示這個(gè)過程的示例代碼:
沒有永恒的事
一切都在不斷重復(fù)
我熱愛這個(gè)世界
但絕不驕縱了它
//
待加密的明文
string
originText
=
"
Hello
"
;
//
公鑰
string
publicKey;
System.Security.Cryptography.RSACryptoServiceProviderrsaReceive
=
new
System.Security.Cryptography.RSACryptoServiceProvider();
System.Security.Cryptography.RSACryptoServiceProviderrsaSend
=
new
System.Security.Cryptography.RSACryptoServiceProvider();
//
接收方先生成公鑰,并將此公鑰公開
//
參數(shù)false表示只生成公鑰,如果為true,則同時(shí)生成公鑰和私鑰.
publicKey
=
rsaReceive.ToXmlString(
false
);
//
發(fā)送方接收公鑰,并用此公鑰加密數(shù)據(jù)
rsaSend.FromXmlString(publicKey);
//
發(fā)送方執(zhí)行加密.
//
第二個(gè)參數(shù)指示是否使用OAEP,如果使用,則程序必須運(yùn)行在WindowsXP及以上版本的
//
系統(tǒng)中.無論true或false,解密時(shí)必須跟加密時(shí)的選擇相同.
byte
[]cryp
=
rsaSend.Encrypt(System.Text.Encoding.UTF8.GetBytes(originText),
false
);
//
接收方用自己的私鑰解密
byte
[]b_OriginText
=
rsaReceive.Decrypt(cryp,
false
);
用C#實(shí)現(xiàn)RSA加密的一個(gè)小例子
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元