2008-12-15 184 views
5

我目前正在調用第三方API的桌面應用程序。在對其「Web服務」進行授權後,會返回一種用戶令牌,應將其存儲在本地(即使用戶關閉應用程序)。使用.NET安全存儲身份驗證令牌

所以我正在尋找解決方案,以用戶特定的密鑰加密此令牌。 Windows(和.NET)爲此提供了一些標準方法嗎?我想要的只是保護來自同一臺計算機的其他用戶的令牌。

P.S.我無法存儲散列,因爲我需要在啓動時解密此令牌。

回答

5

是的。 Windows確實提供了它。查看DPAPI,可以通過.NET Framework的System.Security.Cryptography.ProtectedData類(自v2.0以後可用)訪問,以安全地存儲敏感信息。

+0

謝謝,那正是我一直在尋找的! – PiRX 2008-12-15 19:52:13

2

是的,在.NET中有一個內置函數用於加密,這完全取決於你想如何完成它。

這裏是一個good beginning article,那就說明你一些基本的元素,類和.NET中做加密

注意的方法:所有需要的類都在System.Security.Cryptography命名空間

0

在運行時,您可以將身份驗證密鑰存儲在SecureString ...中以將其存儲在會話之間,您可以在.NET框架中使用symmetric encryption API之一。