如何导出 Chrome 密码?

22 google-chrome export passwords

我希望能够从 Chrome 浏览器导出密码,以便我可以制作打印副本。

ccp*_*zza 30

下面列出了几种解决方案,并非所有解决方案都适用于最新版本的 Chrome。“官方” Google Chrome/Canary 解决方案是目前唯一可靠的解决方案。其他可能过时的解决方案包括适用于任何操作系统的基于 JS 的解决方案、仅限 OSX 的解决方案和仅限 Linux 的解决方案(已确认可在 Chrome 68 中使用)。

官方 Chrome 导入/导出按钮

  1. 要求:安装最新的谷歌浏览器(如果最新的稳定版谷歌浏览器不适合您,请尝试使用Chrome Canary)。
  2. 使用您的 google 帐户登录,设置同步,然后等待几分钟直到所有密码同步。
  3. 通过chrome://flags在地址栏中键入来打开 Chrome Flags 。
  4. 找到并启用选项Password importPassword export,然后重新启动 Chrome Canary。
  5. 现在打开chrome://settings/passwords你应该看到一个三点图标的地方。单击它会显示IMPORTEXPORT选项:

Chrome 密码导入导出

更新:在较新的 Canary 版本中,不是导入/导出按钮,而是一个包含Export选项的三点按钮。

基于 Javascript 的解决方案

注意:从 chrome v60+ 开始,下面描述的方法不再起作用。

将 Chrome 密码提取为人类/电子表格可读格式的一种独立于操作系统的方法是通过 Chrome Javascript API,如本页所述

  1. 在浏览器中打开chrome://settings-frame/passwords(也可以从 Chrome Settings > Show Advanced Settings... > Chrome Passwords 访问)。
  2. 通过右键单击页面 >检查(或Ctr+Shift+I?+?+I)打开 DevTools 。
  3. 单击Console选项卡。
  4. 单击读取top(或<top frame>)的下拉列表并选择密码框架:settings (password),如屏幕截图所示(警告:跳过此步骤将导致错误PasswordManager is not defined): Chrome 开发工具控制台选项卡
  5. 接下来,将以下代码粘贴到控制台窗格中并按下Enter(基于来自https://github.com/megmage/chrome-export-passwords 的代码,该代码已被清理并在 Chrome v50+ 上运行):
var out = [];
var pm = PasswordManager.getInstance();
var model = pm.savedPasswordsList_.dataModel;
console.log(model);
var pl = pm.savedPasswordsList_;
for (var i = 0; i < model.length; i++) {
    PasswordManager.requestShowPassword(i);
}
alert('After you press Ok results should appear in ~5 seconds.\n' +
    "If password fields are empty, try increasing the timeout in the last line," +
    " i.e. set to 10000 for 10 seconds");
setTimeout(
    function () {
        out.push('# Generated by Password Exporter; Export format 1.1; Encrypted: false');
        out.push('"hostname","username","password","formSubmitURL","httpRealm","usernameField","passwordField"');
        for (var i = 0; i < model.length; i++) {
            var record = model.array_[i];
            var user = record.username;
            var item = pl.getListItemByIndex(i);
            var pass = item.querySelector('div.password input').value;
            var proto = record.url.split('://')[0];
            var line = `"${proto}://${record.shownOrigin}", "${user}", "${pass}", "${record.url}", ," "," "," "`;
            out.push(line);
            console.log(line);
        }
        document.body.innerText = out.join('\n');
    }, 5000);
Run Code Online (Sandbox Code Playgroud)

重要提示:此代码适用于从 v50 开始的 Chrome 版本。对于早期版本,请使用原始github 页面中链接的代码。

密码应以 CSV 格式显示在同一页面上。选择输出并将其复制到带有.CSV扩展名的文本文件中——它可以在 Excel/Libreoffice Calc 中打开。该格式与Firefox Password Exporter兼容,可用于将密码导入 Firefox。

OSX 用户注意事项

用于 OSX 的最新版本的 Google Chrome/Chromium 将密码存储在系统钥匙串中,这意味着 Chrome 使用 OSX 内置凭据存储机制这已经是过时的信息)。

在 OSX 上,您可以通过在终端中运行来导出密码:

sudo security dump-keychain -d login.keychain > keychain.txt
Run Code Online (Sandbox Code Playgroud)

是的,除非您使用autoclicker 脚本,否则您需要根据登录钥匙串中的域多次单击“全部允许”。该链接还指向用于将生成的密码文件转换为 CSVruby 脚本。在我删除包含.proto.gsub!('htps', 'https');

或者,您可以使用本机 OSX 应用程序钥匙串访问(在 Spotlight 中键入名称)。

注意正如oarfish所指出的,Chrome从v.45 开始停止使用 OSX 钥匙串。

仅用于导出密码的 Linux 解决方案

此解决方案仍然适用于当前版本的 chrome (v68)

下面的配方是一个仅限 Linux 的解决方案,取自我不久前创建的这篇博文。要将密码导出到可在 LibreOffice 或 Excel 中打开的 CSV 电子表格:

  1. 如果尚未在 Chrome 中同步,请在 Chrome 设置中连接到您的 Google 帐户,以便您的密码与 Google 云存储同步。确保您在高级同步设置中勾选了密码
  2. 稍等片刻,直到数据同步,然后关闭所有 Chrome 窗口。
  3. 使用以下命令行之一启动 Chrome/Chromium。这将使用自定义配置文件文件夹启动 Chrome,而不会影响您当前的 chrome 配置文件。

    ## for Chrome:
    google-chrome --user-data-dir=/tmp/chrome-tmp --password-store=basic
    
    ## for Chromium:
    chromium --user-data-dir=/tmp/chrome-tmp --password-store=basic
    
    Run Code Online (Sandbox Code Playgroud)
  4. 为新的临时配置文件设置 Google 同步并等待所有内容从云端同步,即您的书签出现、扩展程序出现、主题已应用等。通过查看“设置”下验证密码是否已从 Google 云端恢复?私人物件 ?管理保存的密码。如果它们没有出现,请再等几分钟。注意:要访问存储密码页面打开设置,password在右上角的搜索框中,管理密码将出现在页面底部。您也可以使用直接链接chrome://settings/passwords

  5. 退出 Chrome。

  6. 接下来,打开一个终端并打开cd新创建的 Chrome 配置文件:

    cd /tmp/chrome-tmp/Default
    
    Run Code Online (Sandbox Code Playgroud)
  7. 现在,Login Data使用 sqlite3 命令行实用程序打开数据库文件并转储登录表。为此,您需要sqlite3在系统上安装(在大多数 Linuces 中已预先安装或在存储库中可用)。

    sqlite3 'Login Data'
    
    Run Code Online (Sandbox Code Playgroud)
  8. 接下来,在 SQLite 提示符下输入以下命令。有关可用命令的帮助,请.help在提示符处键入。

    .mode csv               # other options are `html', `tabs', etc.
    .headers on
    .separator ","
    .output chrome_passwords.csv
    select * from logins;
    .exit
    
    Run Code Online (Sandbox Code Playgroud)

现在你应该有一个chrome_passwords.csv包含所有 Chrome 密码的文件。要使用 LibreOffice 打开它,请键入:

    libreoffice --calc chrome_passwords.csv
Run Code Online (Sandbox Code Playgroud)

Login Data文件可以直接使用 SQLite GUI 应用程序打开,例如sqlitebrowsersqlitemansqlitestudio,其中前两个通常在 Linux 存储库中可用。

  • 刚刚使用这篇文章导出了所有内容 https://productforums.google.com/d/msg/chrome/99KZmH2DRrA/5l37AibyAwAJ 像魅力一样工作,只是没有导出按钮:找到“保存的密码”标题旁边的三个垂直点,然后你会发现'export'@ccpizza:也许更新答案? (2认同)

Rob*_*ani 7

ChromePass看起来像您想要的工具。有选项可以保存为 HTML 和纯文本,这两种格式都非常易于打印。

  • “我没有看到我的系统有任何变化。” 那不代表什么!大多数程序(所有的?)都会做一些你没有注意到的变化,还有许多程序会做一些你从未注意到的事情。 (5认同)