2

我需要将密码作为加密字符串存储在 XML 文件中,并且能够再次将其拉出。快速浏览一下System.Security.Cryptography 命名空间会发现许多选项,其中一些是散列和一些加密。

这是我第一次进行任何类型的字符串加密(值再次被拉回),我期待这样的事情:

string plainTextPassword = "mypassword";
string myKey = "some key that people are unlikely to guess";
string encryptedPassword = SomeObject.Encrypt(myKey, plainTextPassword);
// ... write encryptedPassword to xml file ...

// ... read encryptedPassword from xml file ...
string decryptedPassword = SomeObject.Decrypt(myKey, encryptedPassword);

但是当我查看命名空间时,那里也有提供散列的服务,而不是纯粹的加密。我还注意到许多其他问题更多地与散列(或至少一种方式加密)有关,并且并不特别关注事后检索字符串。

我绝对想要的不仅仅是散列密码。我应该从哪里开始?

4

1 回答 1

2

这篇 CodeProject 文章将回答您的所有问题,并提供代码片段来帮助您解决问题: http: //www.codeproject.com/Articles/10154/NET-Encryption-Simplified

代码示例是 VB.NET(刚刚注意到),但很容易转换为 C#。注意哈希是如何与加密技术一起使用的,它们不是加密。

这是使用 Rijndael 的代码示例:http: //kiranpatils.wordpress.com/2008/03/13/encryptiondecryption-helper-class-using-rijandelmanaged/它的实现方式对于加密的“强度”来说很糟糕,但会有所进展很快(希望如此。)

于 2012-06-06T11:16:13.163 回答