Google Chrome扩展中密码的存储

21

我开始阅读Google Chrome的文档,并喜欢它使用HTML和Javascript创建扩展的方法。 阅读此关于本地存储的教程让我想到了很多不同的用途。

我想开发一个扩展来帮助我处理企业系统。 它非常特定,只会在公司内部使用。

这个扩展将使用javascript DOM对该企业系统执行一些活动,仅通过在Google Chrome工具栏上点击一次即可完成。 要使用一次点击就能工作,扩展需要在Chrome中存储密码:因此,如果您重新启动系统,则无需再次输入密码。

我该怎么做? 如何在Google Chrome扩展中持久保存密码以登录到另一个系统? 我不想以“纯文本”形式存储它,我至少要使用某种加密方式(也许是具有此资源的Google Chrome API)。

这可能吗? 我应该如何使用Google Chrome的扩展结构来持久保存这些数据(最佳方式)?

1个回答

11

您可以使用localStorage(或Web SQL Database API)加密存储用户密码,但这样并不是非常安全。任何获得用户计算机访问权限的人都可以检索到密文,并从您的扩展源代码中摘取加密算法,进而确定明文密码。

如果可行,以下是几种更为可靠的解决方案:


我的 Google Chrome 扩展程序的所有源代码是否可以通过浏览器访问?如果不能,我可以使用根权限加密文件。 - Somebody still uses you MS-DOS
是的。就像你可以查看任何网页一样,你也可以查看任何扩展的源代码。(不过,在扩展的情况下这样做有点棘手——你必须解压缩“.crx”文件或安装该扩展并在计算机上找到未压缩的文件。) - oldestlivingboy
我不理解你的回答...所以如果我将Chrome的所有文件夹都设置为根权限,用户仍然可以从Chrome本身查看源代码(例如在浏览器中运行查看源代码)吗? - Somebody still uses you MS-DOS
5
我理解您在这个问题中拥有系统管理员权限,可以部署扩展程序。但无论您做了什么,一个有经验的用户都可以找到获取您扩展程序源代码的方法。这些机制可能不像简单地打开上下文菜单并多次选择“查看页面源代码”那样简单,因为您可能正在运行一个不可见的后台页面。但所有代码都可以通过浏览器的开发者工具(或我上面提到的解压缩方法)暴露出来。 - oldestlivingboy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接