加密不适用于每个角色

时间:2017-01-14 20:10:33

标签: c# encryption

我正在尝试加密数据(主要是文本文件和图像),并且它正常工作,直到出现一些特殊字符(例如度数字符°)。然后解密的文件中包含此字符instead而不是实际字符。

目前我正在使用Rijndael Cipher加密文件,如本网站所示: https://www.codeproject.com/Tips/704372/How-to-Use-Rijndael-ManagedEncryption-with-Csharp

我将如何更改它,以便每个角色(当您使用文本编辑器打开图像时,也是图像中的角色)将被正确解密?

另外:这是加密数据,特别是图像的好方法吗?如果没有,请指出我正确的方向或链接到解释它的帖子。

2 个答案:

答案 0 :(得分:1)

嗯,显然,如果没有您使用的代码段,几乎无法说出来。但我猜你在解密之后使用错误的编码将其转换为字符串。所以我建议你:

  1. 提供代码段
  2. 检查加密的字节是否被解密为正确的字节(加密/解密这个可能是几个字节的符号)
  3. 在转换为字节并返回
  4. 时,验证您是否具有相同的编码

答案 1 :(得分:-1)

它会使文件变大,但您可以先将文件转换为base64编码,然后再对其进行加密/解密。当然,这很可能是一个更好的解决方案,但我之前没有遇到过你的问题。