如果我对连接字符串部分进行加密,任何拥有web.config文件的人都可以重新解密信息。
没有只有我知道的密码键或类似的东西...
这里的意思是什么?任何使用VS拥有该web.config文件的人都将能够解密信息...
我不理解这个想法...
如果我对连接字符串部分进行加密,任何拥有web.config文件的人都可以重新解密信息。
没有只有我知道的密码键或类似的东西...
这里的意思是什么?任何使用VS拥有该web.config文件的人都将能够解密信息...
我不理解这个想法...
你错误地认为任何人都可以解密web.config。一旦配置文件部分被加密,它只能在相同的机器上解密(或具有相同密钥的机器 - 这是用于Web Farming的)。
通常,通过漏洞,轻松远程下载实际的web.config。但是恶意用户将不会拥有您的密钥,无法解密文件(或带有敏感数据的部分)。
关键在于你必须信任你的站点托管者,也就是说,敏感密钥将不会被分发。
您可以指定加密提供程序,但默认为RSA提供程序。有一个密钥被使用,但它是“秘密”的。因此,某人需要具有在您的服务器上运行应用程序的特权或对文件系统的无限制访问权限才能解密您的web.config。
这个(尤其是第二步)讲述了它:
我不知道 aspnet_regiis.exe 工具是使用密钥加密还是解密 web.config 文件。但是,如果它存储在 web.config 文件中,则任何安装了 aspnet_regiis 实用程序的人都可以解密它;但是,如果它存储在计算机的 machine.config 或 .Net Framework 文件夹中,则任何人都无法解密它。