我目前正在調用第三方API的桌面應用程序。在對其「Web服務」進行授權後,會返回一種用戶令牌,應將其存儲在本地(即使用戶關閉應用程序)。使用.NET安全存儲身份驗證令牌
所以我正在尋找解決方案,以用戶特定的密鑰加密此令牌。 Windows(和.NET)爲此提供了一些標準方法嗎?我想要的只是保護來自同一臺計算機的其他用戶的令牌。
P.S.我無法存儲散列,因爲我需要在啓動時解密此令牌。
我目前正在調用第三方API的桌面應用程序。在對其「Web服務」進行授權後,會返回一種用戶令牌,應將其存儲在本地(即使用戶關閉應用程序)。使用.NET安全存儲身份驗證令牌
所以我正在尋找解決方案,以用戶特定的密鑰加密此令牌。 Windows(和.NET)爲此提供了一些標準方法嗎?我想要的只是保護來自同一臺計算機的其他用戶的令牌。
P.S.我無法存儲散列,因爲我需要在啓動時解密此令牌。
是的。 Windows確實提供了它。查看DPAPI,可以通過.NET Framework的System.Security.Cryptography.ProtectedData
類(自v2.0以後可用)訪問,以安全地存儲敏感信息。
是的,在.NET中有一個內置函數用於加密,這完全取決於你想如何完成它。
這裏是一個good beginning article,那就說明你一些基本的元素,類和.NET中做加密
注意的方法:所有需要的類都在System.Security.Cryptography命名空間
在運行時,您可以將身份驗證密鑰存儲在SecureString ...中以將其存儲在會話之間,您可以在.NET框架中使用symmetric encryption API之一。
謝謝,那正是我一直在尋找的! – PiRX 2008-12-15 19:52:13