[英]Encrypt in SQL Server / Decrypt in .Net 4
我理解這可能是這個問題的重復: 如何加密sql server中的數據並在.net應用程序中解密 - 但這是在大約一年前問的,我希望可能有進步或其他東西。
無論如何,我們有一個應用程序,FTP文件從一個位置到另一個位置,顯然FTP配置文件需要一個密碼。 我們有一個包含配置文件所有詳細信息的數據庫,但我們需要加密密碼。 我們已經考慮過在SQL中解密然后將它們發送到應用程序,但這意味着通過網絡發送它,這是我們不想要的。
我們想要加密存儲的密碼,將細節傳遞給應用程序,然后在應用程序中解密它們。
這可能嗎?
從我的谷歌搜索,它似乎不是,但我希望有人有一個技巧或東西。
提前致謝!
注意:我使用的是.Net 4和SQL Server 2008 R2。
使用SQL Server列加密API函數(如EncryptByKey
)的加密和解密與任何客戶端加密或解密都不兼容,因為它使用內部的,未記錄的存儲格式。
我會說,由於SQL Server提供了網絡連接機密性,因此您不擔心通過網絡發送密碼,請參閱加密與SQL Server的連接 。
您最好的選擇是將密碼存儲在加密列中,並使用內置的SQL Server加密函數( EncryptByKey
, DecryptbyKey
)或使用透明數據庫加密 。 標准也選擇一個或另一個主要是許可要求(TDE要求企業版),因為TDE在每個方面都優於列級加密。 無論您選擇何種解決方案,您都會很快意識到主要問題是密鑰管理,並且SQL Server提供了一個可行的故事,請參閱加密層次結構 。 無論您如何設計解決方案,都不需要應用程序加密或解密密碼本身,如果您需要,那么您顯然是錯誤的路徑(因為應用程序無法管理密鑰本身),所以應該永遠不會出現CLR加密和SQL加密兼容性的問題。
Simpy在.net中加密和解密密碼,就SQL而言,它只是存儲文本。
您是否考慮過SQL Server的透明數據加密(TDE) ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.