2010-11-30 107 views
1

假設app.config出於某種原因不是一個選項。如何在沒有app.config的情況下對連接字符串進行加密

怎麼可能存儲一個加密的連接字符串,或者在程序集本身或者另一個app.config如XML文件中?

(我不認爲它很重要,但是這是一個COM加載項在Excel 2003中)

+0

這是一個winform應用程序? Web應用程序??要不然? – Singleton 2010-11-30 18:09:14

+0

@Hansmukh:Excel 2003的COM加載項。 – Arlen 2010-11-30 18:20:25

回答

0

聽起來像是不錯的使用了ProtectedData類。

http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx

調用保護並傳遞一個字節數組包含連接字符串將返回的加密數據的一個字節陣列(其然後可被轉化爲base64和存儲在本地文件。

呼叫撤消並傳遞一個包含加密連接字符串的字節數組將返回一個包含明文連接字符串的字節數組,然後簡單地使用轉換爲ASCII或UTF-8等

很明顯,如果攻擊者獲得訪問運行應用程序的用戶帳戶他們將能夠來恢復字符串,但它提供的安全性要比將加密字符串存儲在程序集中更安全(可以在不獲取用戶帳戶的情況下進行恢復)。

相關問題