2010-04-22 57 views
3

嗨, 我有一个编码字符串的要求,提供给一个不可读的格式,也必须执行某些操作后解码。我曾尝试'Base64'编码。但这不是一个安全的方式。我需要一些其他解决方案。针对上述情况提供一些帮助。在c中编码和解码字符串#

+6

编码!=加密 – ParmesanCodice 2010-04-22 09:52:23

回答

4

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

2

您正在寻找对称加密。 C#中有几个库可用。例如,您可以使用RijndaelManaged。看到this SQ question为例

1

见以下
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)); 
1

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