使用.NET安全存储身份验证令牌

时间:2008-12-15 18:41:18

标签: .net security encryption

我目前正致力于调用第三方API的桌面应用程序。在授权他们的“Web服务”之后,返回一种用户令牌,该令牌应该存储在本地(即使用户关闭应用程序)。

所以我正在寻找使用用户特定密钥加密此令牌的解决方案。 Windows(和.NET)是否提供了一些标准的方法来执行此操作?我想要的只是保护来自同一台计算机的其他用户的令牌。

P.S。我无法存储哈希值,因为我需要在启动时解密此令牌。

3 个答案:

答案 0 :(得分:6)

呀。 Windows确实提供了它。查看DPAPI,.NET Framework的System.Security.Cryptography.ProtectedData类(自v2.0开始提供)可以访问该类以安全地存储敏感信息。

答案 1 :(得分:2)

是的,.NET中有许多用于加密的内置函数,这完全取决于您希望如何完成它。

这是一个good beginning article,它向您展示了在.NET中进行加密的一些基本元素,类和方法

注意:所有需要的类都在System.Security.Cryptography命名空间

答案 2 :(得分:0)

在运行时,您可以将身份验证密钥存储在SecureString ...中以将其存储在会话之间,您可以使用.NET框架中的symmetric encryption API之一。