在C#程序集中存储敏感数据的位置在哪里?

9

考虑到使用反编译工具可以轻松地对C#程序集进行反向工程,那么在编译C#程序集时,我应该将敏感数据存储在哪里?

我在我的C#程序集中嵌入了一个X509证书,需要在访问证书时存储密码!现在我应该把证书密码存储在哪里?


21
你做不到。任何你的代码可以访问的东西,用户也可以访问。 - SLaks
还有其他的解决方案吗?也许可以使用未经管理的库? - Sepehr
1
你可以加密你的 app.config 文件的一部分:http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config-file.aspx - itsme86
共识是这是不可能完成的。请参见这里这里 - HABO
1
@Sepehr:不是的。用户完全掌控他机器上运行的任何东西。 - SLaks
显示剩余4条评论
1个回答

4
如果你不介意花钱,可以看看Eazfuscator。供应商声称提供代码虚拟化、字符串加密等功能。如果他的说法是正确的,这可能就是你需要的东西。他们有一个试用版,所以我猜试一下也无妨。

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