gpt4 book ai didi

c# - 如何为 Entity Framework 和 Windows 窗体加密 ConnectionString

转载 作者:行者123 更新时间:2023-11-30 13:06:52 26 4
gpt4 key购买 nike

我正在编写一个 Windows 窗体应用程序,用于使用云数据库的公共(public)分发。我需要加密已发布的 app.config 文件中的连接字符串。我在这个项目中使用 Entity Framework 和 .net 4.5。从我读过的内容(可能是错误的)来看,EF 不会自动解密连接字符串。我该如何实现?

最佳答案

您应该使用 Windows 身份验证。如果您给用户一个加密的连接字符串并希望他们以未加密的方式将其传回,那么您必须为他们提供基本上解密公钥的方法,这是一种安全措施。您可以加密文件中的字符串,然后让应用程序将其传递给持有私钥的 WCF 或 REST 服务,解密,建立与数据库的连接,并对数据库进行查询。但这仍然使加密值与密码一样好。这就是为什么您需要使用 Windows 身份验证以便用户可以提供他的凭据并授权他们的原因。这样您就可以控制谁在访问数据库,并且用户是唯一有权访问其密码的人(理论上无论如何)。

这也是 ASP.Net 具有此功能而 WinForm 应用程序不在受控服务器环境中运行的原因。在受控服务器环境中,它们可以访问私钥而无需与世界共享。

关于c# - 如何为 Entity Framework 和 Windows 窗体加密 ConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19123662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com