假設app.config出於某種原因不是一個選項。如何在沒有app.config的情況下對連接字符串進行加密
怎麼可能存儲一個加密的連接字符串,或者在程序集本身或者另一個app.config如XML文件中?
(我不認爲它很重要,但是這是一個COM加載項在Excel 2003中)
假設app.config出於某種原因不是一個選項。如何在沒有app.config的情況下對連接字符串進行加密
怎麼可能存儲一個加密的連接字符串,或者在程序集本身或者另一個app.config如XML文件中?
(我不認爲它很重要,但是這是一個COM加載項在Excel 2003中)
這可以是獨立存儲的很好的應用。
http://msdn.microsoft.com/en-us/library/3ak841sy(VS.80).aspx
您可以使用類在System.Security.Cryptography命名空間來 加密/解密文件。但是,您遇到另一個問題,您將在哪裏存儲密鑰 ?如果您將其存儲在程序集中,則程序集可以通過瀏覽 來查找密鑰,然後其他人可以使用它來解密您的 數據。
做檢查出
http://www.codeproject.com/KB/security/encryptstrings.aspx
和
http://sharpertutorials.com/simple-string-encryption-and-decryption/
聽起來像是不錯的使用了ProtectedData類。
http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx
調用保護並傳遞一個字節數組包含連接字符串將返回的加密數據的一個字節陣列(其然後可被轉化爲base64和存儲在本地文件。
呼叫撤消並傳遞一個包含加密連接字符串的字節數組將返回一個包含明文連接字符串的字節數組,然後簡單地使用轉換爲ASCII或UTF-8等
很明顯,如果攻擊者獲得訪問運行應用程序的用戶帳戶他們將能夠來恢復字符串,但它提供的安全性要比將加密字符串存儲在程序集中更安全(可以在不獲取用戶帳戶的情況下進行恢復)。
這是一個winform應用程序? Web應用程序??要不然? – Singleton 2010-11-30 18:09:14
@Hansmukh:Excel 2003的COM加載項。 – Arlen 2010-11-30 18:20:25