加密和解密使用不同的金鑰的一類加密演算法。這類加密演算法通常有兩個金鑰a和b,使用金鑰a加密資料得到的密文,只有金鑰b可以進行解密操作(即使金鑰a也無法解密);rsa演算法是第乙個既能用於資料加密也能用於數字簽名的演算法。它易於理解和操作,也很流行。它的安全性是基於大整數素因子分解的困難性,而大整數因子分解問題是數學上的著名難題,至今沒有有效的方法予以解決,因此可以確保rsa演算法的安全性。相反,使用金鑰b加密資料得到的密文,只有金鑰a可以解密。這兩個金鑰分別稱為私鑰和公鑰。私鑰就是你個人保留,不能公開的金鑰,而公鑰則是公開給加解密操作的另一方的。
根據不同用途,對資料進行加密所使用的金鑰也不相同(有時用公鑰加密,私鑰解密;有時相反用私鑰加密,公鑰解密)。非對稱加密的代表演算法是rsa演算法。
publicstatic
void createpublicandprivatekey(out
string publickey, out
string
privatekey)
公鑰加密,私鑰解密:
publicstatic
string rsaencryptwithpublickey(string source, string
publickey)
else
msinput.close();
byte result = msouput.toarray();//
得到加密結果
msouput.close();
rsaprovider.clear();
return
convert.tobase64string(result);
}catch
(exception ex)}}
public
static
string rsadecryptwithprivatekey(string source, string
privatekey)
else
msinput.close();
byte result = msouput.toarray();//
得到解密結果
msouput.close();
rsaprovider.clear();
return
encoding.default.getstring(result);
}catch
(exception ex)
}}
加解密演算法一 雜湊演算法 對稱加解密
net中的加解密操作所涉及的物件都在命名空間system.security.cryptography下,所以應先在程式中新增using system.security.cryptography。用來產生一些資料片段 例如訊息或會話項 的雜湊值的演算法。好的雜湊演算法具有在輸入資料中的更改可以更改結果...
最直白非對稱加解密
與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰 公鑰 publickey 和私鑰 privatekey 公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密 如果用私鑰對資料進行加密,那麼只有用對應的公鑰才能解密。因為加密和解密使用的是兩個不同的金鑰,所以這種演算法叫做非對稱加密...
非對稱加解密互動故事
1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果 4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩露,這封信就是安全的,即使落在別人手...