如何以加密的形式存储用户数据

How to store user data in an encrypted form?

本文关键字:存储 用户 用户数 数据 加密      更新时间:2023-09-26

我正在制作一个扩展,需要保留用户的配置文件,以便用户登录时可以从各种服务器提取正确的信息。

所以我发现这篇文章:在谷歌Chrome扩展的密码存储。我觉得这没什么用。

我相信,如果我可以存储用户的登录密码的哈希(唯一的我的扩展),我可以使用密码作为密钥加密他们所有的个人信息。我很关心我引用的帖子中的评论,说他们可以阅读扩展的源代码并计算出哈希值。

我的想法可行吗?如果是的话,我应该用什么?还有其他建议吗?

这取决于密码的用途。例如,如果它们是银行账户,那么可能值得坏人花时间查看您的javascript并找出如何解密该文件。这就是查看加密内容所需要的。

如果内容是一些不是很有价值的东西的密码,你可以这样做。

如果内容是有价值的,您需要在某个服务器上进行加密,而不是使用javascript在客户端进行加密。这样做几乎总是需要您也存储它们,尽管有可能在服务器上执行加密并将数据存储在客户端。

您不应该将个人信息或密码存储在localStorage中,因为任何可以访问计算机的人都可以轻松访问这些信息。即使它是加密的,也可以通过检查源代码轻松解密(任何人都可以轻松查看扩展的源代码)。

一种解决方案是将信息存储在服务器上,并使用第三方登录(Google, Facebook)来验证用户身份,而不是密码。