2008-12-15 162 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之一。

相关问题