答案1
Chrome 将其密码存储在 SQLite 数据库中,就像 Firefox 一样,但名称不同。数据库是Login Data
您的配置文件目录中的文件。您可以使用 SQLite 界面查看其内容。例如,使用命令行工具sqlite3
:
$ sqlite3 ~/.config/google-chrome/System\ Profile/Login\ Data
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> select origin_url, username_value, signon_realm from logins;
…
在 中sqlite3
,您可以使用.tables
列出可用的表并.schema
查看每个表中的列列表。
如果 Chrome 当前正在使用此配置文件,则数据库文件将被锁定。要使用 进行查看sqlite3
,请先制作一份副本。
您不需要主密码来转储数据库,因为 Chrome 没有主密码功能。它曾经,但该功能在 2016 年 1 月发布的 Chrome 48 中被删除。
Chrome 可能会使用您系统的密码存储。它使用 Gnome 密钥环或 KDE 钱包(如果可用)。我不知道它用什么来检测系统密钥环的可用性。如果 Chrome 始终在您的系统上使用系统密钥环,则其密码数据库将为空。
要以交互方式查看 Gnome 密钥环的内容,请使用海马。有一些工具可以在脚本中访问它,包括gnomekeyring
Python库和keyring
Python 库以及命令行secret-tool
工具库秘密。
如果您想以加密形式存储密码,请确保 Chrome 使用您的系统密钥环,并确保您的密钥环已加密。或者,请确保您的主目录(如果不是整个磁盘)已加密。
答案2
我找到并测试了自己提供的Python脚本https://rtfm.co.ua/en/chromium-linux-keyrings-secret-service-passwords-encryption-and-store/。它运行良好(Google Chrome、Fedora Linux 33)。我使用 Seahorse/密码管理器找到了主密码。