在c#中对字符串进行编码和解码

时间:2010-04-22 09:45:54

标签: c# encryption

斐伊川,    我要求对提供给不可读格式的字符串进行编码,并且还必须在执行某些操作后进行解码。我尝试过'Base64'编码。但这不是一种安全的方式。我需要一些其他解决方案。就上述情况提供一些帮助。

4 个答案:

答案 0 :(得分:5)

您可以使用对称加密算法。 Here's an example。双方(加密/解密)必须共享一个共同的密钥才能使其工作。

答案 1 :(得分:2)

您正在寻找对称加密。 C#中有几个库可用。例如,您可以使用RijndaelManaged。有关示例,请参阅this SQ question

答案 2 :(得分:2)

见下文
http://www.codeproject.com/KB/cs/Cryptography.aspx
http://www.codeproject.com/KB/security/DotNetCrypto.aspx

以下是使用RSA的示例。用您的RSA密钥替换your_rsa_key。

System.Security.Cryptography.RSACryptoServiceProvider Provider =
                new System.Security.Cryptography.RSACryptoServiceProvider();
Provider.ImportParameters(your_rsa_key);
byte[] encrypted = Provider.Encrypt(System.Text.Encoding.UTF8.GetBytes("Hello World!"), true);
string decrypted = System.Text.Encoding.UTF8.GetString(Provider.Decrypt(encrypted, true));

答案 3 :(得分:1)

System.Security.Cryptography命名空间可以帮助您。 但是在选择加密算法时,请记住您尝试加密的数据大小以及您希望实现的安全级别。