问题:在开发多平台.NET Core 1.1应用程序时保护数据的最佳方法是什么?
让我解释一下我的意思:应用程序有一个包含数据库连接密码的配置文件。
我想以正确的方式做事,这意味着在第一次读取密码后,我宁愿加密配置文件中的字符串。显然,我需要使用某种密码来进行某种对称加密。使用Windows,我会使用DPAPI和主机标识来生成我的密码(在对它进行模糊处理后)。
Linux没有DPAPI ......是否有真正的 多平台 实现我所描述的方式?
提前致谢!
编辑:实施代码库首选不依赖于环境/主机操作系统。
答案 0 :(得分:2)
然后,应用程序应该在需要时动态解密设置。
答案 1 :(得分:2)
我不相信有一个真正的多平台"从单个实现调用每个平台上的本机OS级加密原语的方法。我相信很多供应商都必须针对操作系统进行操作。 API根据具体情况而定。
这CIA advice可能是支持解决问题的良好证据,并且很难做到这一点"并且专门针对每个平台,可能会说明尝试查找快捷方式所涉及的风险:
所有工具都必须利用操作系统(OS)提供的加密原语 可用(例如,Microsoft CryptoAPI-NG,OpenSSL,PolarSSL,GnuTLS等)。