我需要类似cookie的东西,但我特别不希望它回到服务器.我称之为“客户端会话cookie”,但任何合理的机制都会很棒.
基本上,我想在服务器上存储一些加密的数据,并让用户在浏览器中输入密码.浏览器使用密码解密数据(或使用密码创建和加密数据),服务器仅存储加密数据.为了保证服务器上的数据安全,服务器不应该存储,也不应该接收密码.理想情况下,应该有一个cookie会话到期以进行清理.
我能想出的最好的是某种iframe机制来将数据存储在javascript变量中,但这很难看.有没有人有任何想法如何实现这样的事情?
FWIW,平台是ASP.NET,但我认为不重要.它需要支持广泛的浏览器,包括移动设备.
在回答下面的一个答案时,让我澄清一下.我的问题不是如何实现加密,这不是问题.问题是存储密码的位置,以便它在页面之间是持久的,但不会超出会话,并且服务器不会看到它.
解决方法
对于你要找的东西,我会说javascript是你能做的最好的.
您可以将加密数据检索到服务器上,并在客户端使用javascript对其进行解密.没有密码传输,对用户来说没有秘密.
这取决于您使用的加密算法,但有相应的库(例如Stanford Javascript Crypto Library)
(但我不明白你为什么要谈论cookies)
如果您对存储方面而不是加密方面感兴趣,也许您可以考虑Thomas Frank的session variables