如何使用vb.net对windows窗体中的连接字符串进行加密,以便将其分发到其他计算机

如何使用vb.net对windows窗体中的连接字符串进行加密,以便将其分发到其他计算机,vb.net,Vb.net,我有一个用vb.net编写的windows窗体,我想在app.config中加密连接字符串并将其分发到其他机器。我可以在编译它的机器上很好地加密它,但它在其他机器上不工作,因为加密绑定到该机器。我怎样才能使我的域内的其他机器可以使用它?我正在连接一个数据库,如果没有应用程序,人们将无法访问该数据库,因此我无法使用域凭据 TY这真的很“简单”;您只需分发一个连接字符串,该字符串引用一个uer,该uer具有让应用程序工作所需的最低权限,或者,如果您对黑客攻击的兴趣没有扩展到那么远,您可以创建一个We

我有一个用vb.net编写的windows窗体,我想在app.config中加密连接字符串并将其分发到其他机器。我可以在编译它的机器上很好地加密它,但它在其他机器上不工作,因为加密绑定到该机器。我怎样才能使我的域内的其他机器可以使用它?我正在连接一个数据库,如果没有应用程序,人们将无法访问该数据库,因此我无法使用域凭据

TY

这真的很“简单”;您只需分发一个连接字符串,该字符串引用一个uer,该uer具有让应用程序工作所需的最低权限,或者,如果您对黑客攻击的兴趣没有扩展到那么远,您可以创建一个Web服务来完成所有繁重的工作,并且您根本不会释放连接字符串。如果您不想要web服务,那么可以通过使用存储过程和直接限制对表的访问来实现相同的最终结果


认为可以在配置中加密一个连接字符串,然后将一个必须解密才能使用它的应用程序与之捆绑在一起,这是一件愚蠢的事情。如果你不想让别人知道某件事,你一开始就不会给他们

如果正在使用,则需要使用RSA选项,而不是DPAPI。以下是加密/解密连接字符串的示例。由于这是Windows forms应用程序,一个简单的选项是对连接字符串值使用3DES加密方法,并存储在运行时解密的加密版本。如果你想知道其中涉及到什么,我刚刚发布了相关信息。显然还有其他解决办法。但是我不清楚为什么你不能获得登录用户的身份,数据库的身份验证是如何进行的,你是否在连接字符串中硬编码凭据,等等。嗨,伙计们,谢谢你们的回答。我从一位同事那里找到了一个简单得多的解决方案。我使用的不是带有用户名和密码的连接字符串,因为这是一个内部应用程序,所有用户都在同一个域中,所以我使用的是安全支持提供商接口(SSPI)。我所需要的只是对几个表的只读访问,这样就可以很好地工作了。