gpt4 book ai didi

c# - 保护密码不被反编译

转载 作者:行者123 更新时间:2023-11-30 18:51:43 25 4
gpt4 key购买 nike

我有一个程序可以通过预定的用户名和密码连接到 SqlServer。例如:

static void Main(string[] args)
{
string UserName, Password;
UserName = "Name";
Password = "Pass";

SqlConnection conn = new SqlConnection("...");
}

如何保护密码不被反编译?

最佳答案

一开始就不要这样做。安全系统旨在保护用户免受试图让用户运行错误代码的攻击者。它不是为了保护您的程序免受它的用户的影响而设计的,而这正是您想要做的。

出于多种原因,将用户名和密码硬编码到可执行文件中是最糟糕的做法。首先,因为它向拥有您的程序 的人授予数据库访问权限,而不是获得授权的人。其次,这意味着如果您需要更改用户名或密码,则需要重新发布程序。第三,如果密码真的泄露了,而且只需要泄露一次,会发生什么?您无法仅限制攻击者的访问权限。

一个更好的解决方案是要求每个用户都有自己的帐户;让他们输入密码。或者将数据库访问与一些其他身份和授权方案集成,例如 Windows 身份验证或其他。

关于c# - 保护密码不被反编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372229/

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