2009-11-10 133 views

回答

8
+9

的第二个环节是垃圾。混淆与加密不同。 – 2014-08-29 22:35:33

+1

关于第二个链接:不推荐使用“默默无闻的安全性”,查找Kerckhoffs的原则。 – Calum 2015-04-16 09:01:30

+0

你能告诉我使用aspnet_regiis有什么好处。exe工具,当加密文件只能在本地机器使用,并不能用于托管服务器?! – 2017-11-25 22:02:10

10

的Rahul,从ASCII将字符串转换成BASE64字符串不是加密,这是你的第一个链接建议秒。我们可以很容易地将base64转换为ASCII。

使用configsection.protectSection()的RSA密钥是适当的加密,可用于的Web.config文件的部分。

检查此链接:http://www.beansoftware.com/ASP.NET-Tutorials/Encrypting-Connection-String.aspx

请注意,我们不能在信任级别设置为中等信任共享主机环境加密Web.config文件。

2

为了节省不必访问外部链接,在C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319(用于.NET 4/4.5)

aspnet_regiis.exe -pe "connectionStrings" -app "/YourWebSiteName" -prov "DataProtectionConfigurationProvider" 

要使用此工具解密connectionStrings节,您可以在aspnet_iisreg.exe工具中指定以下命令。

aspnet_regiis.exe -pd "connectionStrings" -app "/YouWebSiteName" 
+0

请问当使用aspnet_regiis.exe工具的加密文件只能在本地机器上使用并且不能在托管服务器中使用时,请问使用aspnet_regiis.exe工具的优点是什么? – 2017-11-25 22:06:41

+0

,这实际上取决于你想要加密文件的原因 - 如果是为了开发而且你的开发机器上没有任何敏感信息,那么我认为没有多少意义(除了测试),但是在活的服务器或有可能被黑客攻击的敏感信息的计算机..那么你的好处 – 2017-12-22 19:04:15

1

加密对于为应用程序提供安全性很有用。请找到以下步骤来加密web.config。

  1. 打开命令具有管理员权限
  2. 在命令提示符提示下,输入
  3. CD C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319
  4. 如果您的网络配置位于“d:\文章\ EncryptWebConfig” 目录路径,然后输入以下加密的ConnectionString:
  5. ASPNET_REGIIS -pef “的ConnectionStrings”“d:\文章\ EncryptWebConfig

为了更安全,我使用了其他一些东西。在我的Web.config中,我添加了以下代码。

<httpProtocol> 
     <customHeaders> 
      <add name="x-Frame-Option" value="Deny or SEMEORGIN" /> 
      <remove name="Server" /> 
      <remove name="X-AspNet-Version" /> 
      <remove name="X-AspNetMvc-Version" /> 
      <remove name="X-Powered-By" />    
     </customHeaders> 
    </httpProtocol> 
1

运行此命令中: ASPNET_REGIIS.EXE -pef “的ConnectionStrings” “pathToWebConfig”

或者,如果你想这个以编程方式运行,你可以创建一个进程:

  string fileName = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"; 

      if (8 == IntPtr.Size 
       || (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) 
      fileName = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe"; 

      string arguments = $"-pef \"connectionStrings\" \"{application.Path}\""; 

      using (Process process = new Process()) 
      { 
       process.EnableRaisingEvents = true; 
       process.StartInfo = new ProcessStartInfo 
       { 
        FileName = exeName, 
        Arguments = arguments, 
        UseShellExecute = false, 
        RedirectStandardOutput = true, 
        RedirectStandardError = true, 
        CreateNoWindow = true 
       }; 

       process.Start(); 
       processOutput.Output = process.StandardOutput.ReadToEnd(); 
       bool exited = process.WaitForExit(timeoutMilliseconds); 
       if (exited) 
       { 
        processOutput.ExitCode = process.ExitCode; 
       } 
      } 
+0

你能告诉我什么是使用aspnet_regiis.exe工具的优点,当加密文件只能在本地机器使用,并且不能用于托管服务器?! – 2017-11-25 22:07:03

相关问题