使用 JavaScript 加密本地存储的数据

fak*_*ood 5 javascript security

在学习 JavaScript 和 HTML5 的同时,我正在尝试构建一个基本的测验应用程序,该应用程序会询问一些适用于移动网络的多项选择题,并且还作为使用 PhoneGap 的应用程序。当提出问题时,结果会存储在本地。

我希望PhoneGap的版本,允许离线模式,所以对数据进行本地存储的能力是必须的。我知道有一个通过 PhoneGap 提供的本地数据库 - 所以我想一种选择是使用 PhoneGap 为移动 Web 和本地数据库做客户端/服务器。但是,我现在宁愿避免走这条路,因为这意味着我必须管理移动网络和 PhoneGap 版本之间的更多变化。

显然不需要互联网银行级别的安全性,但我需要将结果存储在本地,这些结果不容易阅读,但最重要的是可以操纵。

我最初尝试使用HTML5 localstorage,但我很快意识到,至少按照我的做法,我可以清楚地看到我存储的所有结果,并且通过使用 Chrome 开发人员工具,只需单击即可轻松更改值。

当我走上使用加密的道路时(我很感兴趣地阅读了这篇 StackOverflow 帖子),似乎对于这样的事情,我总是必须在代码中的某处定义一个“密钥”以加密数据,然后使用相同的密钥来解密它。

由于所有数据都存储在客户端,这意味着我所要做的就是找到这个键并针对存储的数据运行它来操作结果。

bea*_*mit -2

Base64 编码可以工作吗?它内置于浏览器中并且看起来是加密的。人们总是为了饼干而这样做。

资源(Mozilla 特定):

有关非 Mozilla 浏览器的更多信息和链接,请参阅此问题:JSON 编码/解码 base64 在 JavaScript 中编码/解码

  • 它让诚实的人保持诚实,而且您无论如何都需要对 localStorage 的二进制数据进行 Base64 编码,因为它只支持字符串数据。您确实说过您不需要银行级别的安全性,对吧? (4认同)
  • 感谢您的评论,但是仅仅通过查看它就不能有人猜测它是base64加密的,然后轻松解密它吗? (2认同)