2011-07-06 142 views
1

我正在尋找一個合併透明安全性的應用程序。據我所知,這意味着密鑰存儲在某個地方,每次需要密鑰時都會使用密鑰。什麼是存儲加密密鑰的最佳方式?

如果我在附近的任何地方......我如何在本地離線存儲密鑰?

在我的應用程序中,我主要對Windows(理想的.Net)解決方案感興趣。

+1

如此透明,沒有人注意到了安全加密?甚至不是壞人? :-) –

+0

您是爲本地存儲器加密數據,還是要與其他計算機或服務器通信? –

+0

我正在尋找加密文件,因爲他們被添加到保管箱文件夾(我知道有那裏可以做像PGP或Truecrypt這樣的東西,但我很欣賞挑戰),我希望鑰匙被存儲在本地以外的地方保管箱文件夾。 –

回答

2

做到這一點w /合理的安全級別的一種方法是使用System.Security.Cryptography.ProtectedData類公開的DPAPI功能。

此方法可用於加密 數據,如密碼,密鑰或 連接字符串。可選的熵參數 使您可以添加數據以提高加密的複雜度 ;爲 指定Nothing沒有額外的複雜性。如果提供了 ,則在使用解除保護方法解密數據時,還必須使用此信息。 。

您可以在兩個位置

  • CurrentUser
    受保護的數據與當前用戶相關的數據保護。只有在當前用戶上下文下運行的線程才能解除數據保護。

  • LocalMachine
    受保護的數據與機器上下文相關聯。計算機上運行的任何進程都可以取消數據保護。此枚舉值通常用於服務器特定的應用程序,該應用程序在不允許不受信任的用戶訪問的服務器上運行。

最終的數據與您的窗口(或機器)的憑據

相關問題