如何加密/解密字符串?

时间:2009-09-25 18:52:03

标签: c# cryptography rsa

关注this question,我想知道RSA的关键是什么,以及如何在C#中创建和使用它。

2 个答案:

答案 0 :(得分:7)

来自Wikipedia

  

在密码学中,RSA(代表Rivest,Shamir和Adleman首先公开描述它;见下文)是一种公钥加密算法。它是已知的第一种适用于签名和加密的算法,也是公钥加密技术的第一个重大进步之一。 RSA广泛用于电子商务协议,并且在给定足够长的密钥和使用最新实现的情况下被认为是安全的。

你看过RSACryptoServiceProvider班了吗? .NET使大多数应用程序都变得容易。

答案 1 :(得分:1)

加密有两种:对称和非对称。

对称加密使用在发送方和接收方之间共享的单个密钥。

非对称加密,即公钥加密,使用两个密钥(一个密钥对),其中一个(私有密钥)保密,另一个( public 键)可供其他人使用。发件人使用接收者的公钥来加密数据,接收者使用他的私钥对其进行解密。

RSA是一种非对称/公钥密码方案。

AES是一种对称加密方案。

混合方案将两者结合起来,以便使用对称加密对数据进行加密,但加密密钥本身使用非对称加密进行加密,存储和交换。

因此,您需要弄清楚如何管理加密密钥。如果您正在设计一个只需要对事物(例如,SSN或密码)进行加密以将其保存到数据库然后在需要使用它们时对其进行解密的系统,则对称加密是合适的。如果您打算在不同系统之间传输加密信息,那么非对称(或混合)加密是合适的。