2010-04-21 92 views
2

是C#'RSACryptoServiceProvider'加密算法是Microsoft CryptoAPI的一部分嗎?C#RSA加密算法

  1. 通過使用CryptoAPI over'RSACryptoServiceProvider'在.Net中的正常非對稱加密,我們有什麼優勢?
  2. 我不明白他們之間的區別?哪一個是最好的和安全的? 你能幫忙嗎?

由於

KARTHIK

+1

爲什麼這個問題upvoted? – SLaks 2010-04-21 11:42:15

回答

0

RSA是不對稱加密算法,從對稱算法等的Rijndael完全不同。

RSA使用兩個密鑰:一個只能加密數據的公鑰和一個也可以解密數據的私鑰。
欲瞭解更多信息,請參閱Wikipedia

+0

是一個「不對稱加密算法」與垃圾箱中的一個? – 2010-04-22 00:08:47

2

CryptoAPI(通常縮寫爲「CAPI」)是一組基於C的API,應用程序(在Windows下)可用於訪問加密服務。具體而言,使用密鑰(例如RSA加密)的加密操作被委派給稱爲「CSP」(加密服務提供商)的可插入模塊。 CSP本身執行密碼操作。從概念上講,只有CSP知道密鑰實際在哪裏;它可以被看作是存儲密鑰的(虛擬或真實的)硬件的驅動程序。

RSACryptoServiceProvider類是.NET的一部分,它提供了訪問計算RSA的CSP的權限。該類是.NET類的一部分,它們是CryptoAPI的.NET類。

RSACryptoServiceProvider是你在.NET世界中使用的東西;大多數情況下,爲了調用CryptoAPI來結束使用相同的 CSP看起來像是一個多餘的複雜因素。此外,與CryptoAPI相反,RSACryptoServiceProvider具有使用RSA簽名和加密消息的標準(big-endian)表示的良好品味,它可以「反轉」字節。