複製** **如下:
產生私鑰和公鑰
system.security.cryptography.rsacryptoserviceprovider myrsa = new rsacryptoserviceprovider();
//得到私鑰主要儲存了rsaparameters中的8各引數
privatekey = myrsa.toxmlstring(true);
//得到公鑰儲存了rsaparameters中2個引數
publickey = myrsa.toxmlstring(false);
ras實現加密
system.security.cryptography.rsacryptoserviceprovider myrsa = new rsacryptoserviceprovider();
//得到公鑰
myrsa.fromxmlstring(publickey);
//把你要加密的內容轉換成byte
byte plaintextbarray = (new unicodeencoding()).getbytes("這裡是你要加密的內容");
//使用.net中的encrypt方法加密
byte cyphertextbarray = myrsa.encrypt(plaintextbarray, false);
//最後吧加密後的b程式設計客棧yte轉換成base64string,這裡就是加密後的內容了
result = convert.tobase64string(cyphertextbarray)
ras實現解密
system.security.cryptography.rsacryptoserviceprovider myrsa = new rsacryptoserviceprovider();
//得到私鑰
myrsa.fromxmlstring(xmlprivatekey);
//把原來加密後的string轉換成byte
byte plaintextbarray = convert.frombase64string("剛才加密後的string");
//使用.net中的decrypt方法解密
byte dyphertextbarray = myrsa.decrypt(plaintextbarray, fwww.cppcns.comalse);
//轉換解密後的byte,這就得到了我們原來的加密前的內容了
result = (new unicodeencoding()).getstring(dyphertextbarray);
byte messagebytes = encoding.utf8.getbytes("luo羅");
& rsacryptoserviceprovider orsa www.cppcns.com= 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");
//公鑰驗證
程式設計客棧 rsacryptoserviceprovider orsa4 = new rsacryptoserviceprovider();
orsa4.fromxmlstring(publickey);
bool bverify = orsa4.verifydata(messagebytes, "sha1", aoutput);
本文標題: rsa加密演算法使用示例分享
本文位址:
RSA加密演算法
素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15 3 5,所以15不是素數 又如,12 6 2 4 3,所以12也不是素數。另一方面,13除了等於13 1以外,不能表示為其它任何兩個整數的乘積,所以13是乙個素數。素數也稱為 質數 二 什麼是 互質數...
RSA加密演算法
演算法的描述 1.選取兩個素數p,q 2.計算n p q,fn p 1 q 1 3.選擇乙個整數e,使得e與fn的最大公約數為1,e將會用於對資料進行加密。4.計算出乙個整數d,使得d e除fn的餘數為1。d用於對密文進行解密,還原出明文。5.假設明文為m,密文為c。如果需要對原文進行加密,則進行如...
RSA加密演算法
一 rsa是公鑰加密演算法之一,該演算法的數學基礎是 1 初等數論的euler定理,即 若整數a與整數n互素,則a n 1 mod n 其中,n 為尤拉函式。2 大整數分解很困難,即給定乙個大整數n,將其分解為n p q,兩個素數乘積十分困難。二 rsa基本原理 1 金鑰的生成。選擇大素數p,q,計...