2012-06-28 67 views
2

我一直在找这个小时,但是我没有找到任何东西。
我阅读了有关资源文件的教程,我决定尝试使用它们。 当我看到输出时,我感到很惊讶,因为资源文件在DLL中被更改并且不在.exe文件中。
资源文件的C#安全

我的问题是:

  • 如何是这些文件的安全?
  • 什么是安全的存储在他们?
+1

您在计算机上存储的任何东西安全吗? –

+0

'安全'是没有意义的,除非您添加'是否安全从xxxx'。 –

+0

资源文件是为了存储资源(真是一个惊喜),而不是敏感信息,如用户数据或密码 – JSantos

回答

3

的 “资源文件的安全网站:msdn.microsoft.com” 的first Google hit指出:

注意

不要使用资源文件来存储密码,安全敏感信息,或私人数据。

他们不说,没有理由:一个资源文件在默认情况下不加密或混淆,因此任何人都与像一个资源编辑器的任何程序,msil.exe,或JustDecompile可以看到你的资源的内容文件。

您可以使用某种密钥来应用加密,但是您又必须将密钥存储在某处以解密资源。这个密钥本身也会遇到同样的问题:你在哪里安全地存储它,所以攻击者不能使用它来解密你的资源?

如果您不得不分发您的程序几乎不可能,那么只需寻找替代解决方案即可。也许解释你想要做什么有助于找到有用的答案。

+0

谢谢你的答案。主要是我不会将它用于语言突变,但我想知道是否有可能将它用于“资源”之外的其他任何内容(例如,最后10个分数或要做的事情列表)。 这就是我正在寻找的。 – josefpospisil0

+0

@ user1488122否,资源文件不能(很容易)被改变,所以它不适合高分列表。将分数写入文本文件,如果不希望用户混淆加密,则应用加密,但是您又回到了原来的位置:用户可以反编译程序以找到加密密钥。你可以很难改变它,但并非不可能。 – CodeCaster