0

我正在开发一个期刊网络应用程序,并试图解决我预见到的最大问题——相信我不会阅读其他人的条目。到目前为止我的解决方案是:

  • 用户每次登录时都会提供一个密钥。它不与他们的用户数据一起存储,并且仅在会话的生命周期内保留。
  • 用户写入的每个条目都使用此密钥进行加密。同样,当他们尝试打开一个条目时,该条目将使用此密钥解密。
  • 如果输入了不正确的键,则给出的条目将作为乱码返回,但是如果用户愿意,这将允许用户使用不同的键存储条目。

虽然信任我不记录密钥(我希望稍后分发一个具有相同代码的单用户版本)但我不禁想到有一种更常见的方法来做到这一点或这种想法的某个地方存在缺陷(我对安全性或加密知之甚少,其他一些对 md5/sha1/blowfish 的理解可能有些片面)。这是解决这个问题的最好方法吗?

4

1 回答 1

3

这是在客户端(通过 JavaScript)执行加密和解密可能有意义的少数情况之一。

使用用户密钥加密将保护“静止”的日志数据。但如果我真的很偏执,我不相信你不会在我的日记条目被加密并存储在服务器之前“在飞行中”窥探它们。客户端加密消除了这种担忧。

有几个可用的 JavaScript 加密库。我建议查看JavaScrypt。

于 2010-08-26T17:35:25.567 回答