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

3

你好,我有一个需求是将一个字符串编码为不可读格式,还需要在执行某些操作后解码。我尝试了 'Base64' 编码,但这种方式并不安全。我需要其他的解决方案,请给我一些帮助。


6
编码 ≠ 加密 - ParmesanCodice
4个回答

5
你可以使用对称加密算法。这里有一个例子。为了使其正常工作,两个方面(加密/解密)必须共享一个公共的秘密密钥。

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));

2

您正在寻找对称加密。在C#中有几个可用的库。例如,您可以使用RijndaelManaged。请参见此SQ问题以获取示例。


1

System.Security.Cryptography 命名空间可以帮助您。 但是,在选择加密算法时,请考虑您要加密的数据大小和您想要实现的安全级别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接