2010-04-21 93 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)表示的良好品味,它可以“反转”字节。