加密数据库详细信息时,Exe文件在其他PC上不起作用VB2013

问题描述 投票:0回答:1

[我使用VB 2013创建了一个桌面应用程序,其中一项要求是对App.config文件进行加密-存储数据库连接详细信息(用户名,密码)的文件。

在对App.config进行加密之前,我可以在其他PC上运行.exe文件(实际上是复制粘贴该.exe文件),但是在加密后它无法正常工作。我想念什么吗?

这是我App.config中的内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings configProtectionProvider="DataProtectionConfigurationProvider">
        <EncryptedData>
            <CipherData>
                <CipherValue>encrypted_data_random_characters</CipherValue>
            </CipherData>
        </EncryptedData>
    </appSettings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
      <CipherData>
        <CipherValue>encrypted_data_random_characters</CipherValue>
      </CipherData>
    </EncryptedData>
  </connectionStrings>
</configuration>
vb.net visual-studio-2013
1个回答
0
投票

DPAPI是特定于机器的。部分原因是,在一台计算机上加密的内容无法在另一台计算机上解密。如果您希望能够一次加密然后在任何地方解密,那么您将需要使用其他选项。我有这些页面的链接:

How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA

在此线程中:

Protected Configuration (Encrypting Config Files)

前一段时间。它们现在可能已过时,但即使在那时,它们仍显示出两个选项之间的差异。您可能需要寻找RSA选项的新版本/等效版本,或者在要解密的计算机上进行加密。

© www.soinside.com 2019 - 2024. All rights reserved.