我最近阅读了以下 SO 问题。
在撰写本文时,它提到了加密的连接字符串(用于 ASP.NET 应用程序)或使用数据保护 API (DPAPI)。对于该用户的特定用例,两者似乎都是很好的解决方案。
但是,传统上,我总是将敏感的配置值(如密码和连接字符串)存储在正在使用它们的服务器上的用户环境变量中。这些很容易定义、更改和阅读(从 IT 角度来看)。无论使用何种框架或语言,它们也很容易访问。
问题是:将敏感数据存储在 Windows 用户环境变量中是否是一种好习惯,如果不是,为什么?
编辑:
根据 Ken 的评论,一个先决条件应该是:Windows 注册表内容是否加密?