Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加密winforms app.config连接字符串而不使用计算机特定加密_C#_.net_Winforms_Encryption - Fatal编程技术网

C# 加密winforms app.config连接字符串而不使用计算机特定加密

C# 加密winforms app.config连接字符串而不使用计算机特定加密,c#,.net,winforms,encryption,C#,.net,Winforms,Encryption,我正在开发一个win form应用程序.NETFramework 4.0 我在app.config中获得了连接字符串。我需要加密它。如果我使用“DataProtectionConfigurationProvider”,那么这将是特定于机器的。 在一台计算机上完成的加密不能在另一台计算机上使用。所以,如果我有100台机器,那么加密将在每台机器上进行100次 我必须在100台机器上部署此应用程序 有没有办法,如果我加密它,然后在所有其他机器上使用它 任何帮助都将不胜感激。创建您自己的加密/解密函数。

我正在开发一个win form应用程序.NETFramework 4.0

我在app.config中获得了连接字符串。我需要加密它。如果我使用“DataProtectionConfigurationProvider”,那么这将是特定于机器的。 在一台计算机上完成的加密不能在另一台计算机上使用。所以,如果我有100台机器,那么加密将在每台机器上进行100次

我必须在100台机器上部署此应用程序

有没有办法,如果我加密它,然后在所有其他机器上使用它


任何帮助都将不胜感激。

创建您自己的加密/解密函数。在创建SQLConnection时,将其加密存储并从应用程序调用decrypt

有很多这样做的例子


您可以使用用户名和密码执行此操作。否则就不会完全安全。当用户第一次登录时,写入加密的conn字符串。您可以使用许多场景。例如,您的IT可以使用用户凭据推送加密数据。用户必须在第一次运行时更改密码并重新加密conn字符串如何使用c#加密源代码中的数据库连接字符串。你能推荐一个吗。这是一个数据库连接,因此用户不会更改密码。我只需要在一台机器上进行加密,这样,如果复制到另一台机器上,它就可以在所有机器上工作。如果加密时不使用密钥(如密码),而您的密钥将保存在代码中,那么它就不安全了。您的代码可以很容易地反映和提取关键点。最好的方案是使用一些密码对其进行加密,然后将其提供给用户,当用户第一次运行时,更改密码并重新加密。用户甚至不需要知道文件的内容,所有连接都将作为一个用户进行。但是加密将由每个用户完成。正如您提到的,加密将由每个用户完成。这就是我试图避免的。用户无法进行加密。因此,我所看到的步骤1-数据库连接字符串在用户(在一台机器上)第一次登录时使用某种加密算法进行加密。第2步-使用app.config获取加密的源代码,并将其复制到所有其他计算机上,而不对用户进行任何加密。然后,您查看的应用程序没有通过安全问题审核