2008-09-10 80 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