2

我很好奇是否有任何建议在源代码中存储一些敏感信息。从一开始就让我自己清楚,我不是在谈论用户密码、信用卡号码等;我说的是 API 访问密钥、客户端机密和其他此类数据,它们与应用程序的用户没有直接关系,而是与应用程序对各种组件或第三方服务进行身份验证(还要考虑数据库连接字符串) web.config 文件)。

我正在寻找的是一种方法,如果可能的话,最好在源文件(避免以某种方式对它们进行硬编码)和输出二进制文件中隐藏此敏感信息(通常是字符串)的纯文本出现。对于二进制文件,我知道有混淆的“解决方案”;然而,对于来源,我想不出一个简单的来源。理想情况下,该解决方案应尽可能对源代码控制友好,允许授权开发人员简单地检查代码并构建它而无需额外步骤。

如果您对此有任何建议,我非常愿意听取他们的意见。

4

2 回答 2

1

您可以加密您的密钥并存储在 xml 中。

应用程序可以解密并使用它。

参考:

在 .NET 中加密/解密字符串

此外,您可以使用至少比纯文本更好的编码。

参考:

编码和解码

于 2013-03-20T10:01:21.273 回答
0

我最终选择的解决方案是将所有敏感字符串移动到web.config文件(或app.config)中,然后加密其中的敏感部分。然后我让操作系统和 ASP.NET 运行时来处理加密/解密。并不完美(毕竟您确实需要拥有保存明文数据的原始 app/web.config 文件 - 但至少它不必在生产机器上),但非常方便。

于 2013-04-26T16:11:32.960 回答