6

我的客户希望能够在线离线工作以处理数据,通常是创建或检索产品。

在线时,他想使用 Web 服务和服务器数据库,但是当离线时(网络中断或其他),他希望将数据持久化并加密在 localStorage 中

我要一个 javascript 加密库,从登录页面获取密码并使用密码派生密钥作为加密密码。密钥将存储在一个简单的 javascript var 中(页面是动态的,因此不会更改页面)。

您对此事有何意见?您会提出什么解决方案?任何好的 javascript 加密库?

4

1 回答 1

7

正如您所说,解决方案是从客户端密码中获取密钥。这样您就不必直接存储它。这是密码管理器 last pass 使用的技术。大多数人为此使用的功能是 PBKDF2。将密钥存储在一个简单的 var 中并不是不安全的,因为如果有人可以读取该 var,他们就可以读取您的客户端正在处理的数据。只需确保在客户端注销时清除数据

值得庆幸的是,这个已经很好地完成了几乎所有这些事情,并且是由真正诚实的密码学家编写的,而不是一些阅读 Bruce Schneier 的书并认为他们知道关于加密的所有知识的 web 2.0 人。

于 2012-06-01T05:10:39.190 回答