2012-05-31 87 views
3

我目前有一個ASP.NET網站,它的web.config文件中有一個加密的連接字符串。這些設置位於通用的AppSettings部分,而不是ConnectionString部分。在應用程序代碼中,我們根據需要在運行時手動解密連接字符串。如何在Web.config中加密連接字符串 - 退出的內容?

在重構網站時,我遇到了一個Microsoft曾經提出的方法,它涉及運行aspnet_regiis命令,以便將加密數據直接插入到web.config文件的ConnectionString部分。這個建議的方法現在被認爲是退休內容,儘管它沒有說明爲什麼(除了一些小的引用,一些鏈接可能不再有效)。

這裏我指的是網站:
How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

我的問題基本上是 - 如果我招誰惹重構現有的功能使用微軟的一次推薦的方法?我相信它會比現在的流程更有效率。另外,爲什麼要將此方法視爲退休內容?有沒有更好的方法來做到這一點,而不是我的網站支持加密/解密方法?

我在谷歌搜索谷歌& StackOverflow的其他方式,但他們都似乎指的是微軟的方式 - 或我目前實施的方式。

回答

1

也許您所指的網站/文檔被標記爲過時,但背後的技術不是。下面是官方往來,不標記爲過時:

我肯定會使用這種技術。

0

我猜他們說文檔被認爲是退役的內容,因爲它是爲.NET 2.0框架編寫的。正如Simon所說的那樣,它背後的技術仍然很好用。

使用aspnet_regiis來加密web.config文件的好處在於它對應用程序是透明的。假設appSettings或connectionStrings部分未加密,並且如果它們使用此方法進行加密,則可以編寫您的邏輯,.NET框架將在給予您價值之前對其進行解密。

使用此方法時要記住的一件事是它會加密整個appSettings部分。如果你打開你的web.config一旦它被加密,你將看不到任何密鑰,但只是一大塊加密的數據。

+0

我最終創建了一個名爲'secureAppSettings'的獨立部分,並且只對該部分進行了加密 - 從而使正常的appSettings部分未加密。 – Mark

相關問題