2008-09-10 82 views
14

我正在开发一个web应用程序,它需要将用户名和密码存储在web.Config中,它也引用了一些URL,这些URL将被Web应用程序本身请求,而不是客户端。在web.config中加密appSettings

我知道.Net框架将不会允许web.config文件被提供,但我仍然认为它的不良做法是以纯文本的形式保留这些信息。

到目前为止,我读过的所有东西都要求我使用命令行开关或将值存储在服务器的注册表中。由于主机处于联机状态,我只能访问这两者,而且我只有FTP和控制面板(头盔)访问权限。

任何人都可以推荐任何好的,免费的加密DLL或方法,我可以使用?我宁愿不发展我自己的!

感谢迄今为止的反馈家伙,但我无法发布命令,并且无法编辑注册表。它必须是一个加密的util/helper,但只是想知道哪一个!

回答

19

编辑:
如果你不能用asp实用程序,您可以使用SectionInformation.ProtectSection方法加密配置文件。

样品在CodeProject:

Encryption of Connection Strings inside the Web.config in ASP.Net 2.0

+0

Aku, 不幸的是,这些链接指向命令行,我无法使用这些链接,因为我们没有直接访问命令行。 如果我要在我自己的机器上加密它,然后将它部署到服务器,它将不会工作,因为密钥不会存在/不同 – Mauro 2008-09-10 14:37:15

0

虽然它似乎是简单的第一眼,还有我遇到了几个障碍。

这工作得很好,我使用默认的加密提供(加密的appSettings节)所以,我提供步骤:

加密节在web.config:

  1. 开放管理命令外壳程序(以管理员身份运行)。命令提示符将在C:上,这是为下面的步骤假设的。
  2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319,在32位Windows系统使用的Framework代替Framework64
  3. 变化D:
  4. cd D:\Apps\myApp
  5. c:aspnet_regiis -pef appConfig .

你应该看到这条消息:

微软(R )ASP。NET RegIIS版本4.0.30319.0 管理实用程序在本地计算机上安装和卸载ASP.NET。版权所有(C)Microsoft公司。版权所有。 加密配置部分... 成功!

您还可以解密节在web.config: 这些相同的步骤,但与ASPNET_REGIIS选项-pdf,而不是-pef