Google Chrome:导入/导出密码?


19

我最近从Windows7迁移到Kubuntu 10.0.4。在很多方面,我都喜欢这种变化。(我不知道编写/测试脚本可能是一个如此愚蠢的过程!)

导致我陷入困境的几件事之一是,没有保存在浏览器中的密码可用(显然,因为它是完全独立的安装)。是否可以从Windows的Chrome实例导出密码,然后将其导入Linux版本?


在此处可以找到答案superuser.com/a/675167/65975
ccpizza 2015年

该功能现在似乎已内置到chrome:// settings / passwords中。请参阅上面ccpizza链接到的重复问题。
Mathieu K.

Answers:


8

正如Neal所说,该文件夹User Data是要查找的文件夹。如果您需要软件解决方案,请尝试使用扩展名Lastpass(或在Google网站上)。它允许您在Google Chrome以及Firefox,IE和Safari中保存和还原密码。


我使用LastPass已经2年了,效果很好!在4个不同的操作系统上的6个浏览器上找到了它
TheLQ 2010年

2
似乎lastpass不再能够将密码导出到chrome -.-是否已经有了新的解决方案?
LuckyMalaka'3

@mmm ...这是您提出问题后将近一个月,但我想回答您:我认为您不需要使用Lastpass导出密码。只要将扩展程序安装到您使用的任何浏览器上,它们都将可用。从任何系统。密码存储在其加密的保管库中,因此您不必担心其中的任何一个。
杰弗里·布雷克

我认为该User Data部分仍然无关紧要,因为Chrome现在将其保存的凭据存储在系统的密钥环中。另外,应该提及的是,LastPass是一项商业服务,其功能是“在云中”同步密码,并且会要求您注册一个帐户并将密码发送给他们。这不是一个简单的“导出”扩展。
Elzo

10

您也可以使用称为chromepass的独立工具http://www.nirsoft.net/utils/chromepass.html

ChromePass是一种小型密码恢复工具,可让您查看Google Chrome网络浏览器存储的用户名和密码。

也可以选择导出到keepass密码管理器中。

注意:如果您觉得使用第三方工具不安全,请从此处https://github.com/hassaanaliw/chromepass获取脚本并自行运行。


完善!我正在迁移到KeePass,这正是我所需要的。谢谢!
蒂姆·刘易斯

谢谢!好的解决方案。只是别忘了先关闭安全扫描器,因为它会检测到想要窃取您的信息的有害软件。
2016年

@eapo禁用安全软件将程序检测为恶意软件是一件非常愚蠢的事情,除非对该代码进行了至少充分的审查,而这并不是因为该代码不是公开的。至少有17种防病毒软件(virustotal.com/fr/file/…)将其检测为恶意程序。通过HTTP分发的奖励点,因此容易受到篡改。
Elzo

@YdobEmos它标记为恶意的,因为它检索存储的密码,并可能因此恶意方式使用。NirSoft是一家值得信赖的公司。
DavidPostill

1
@Arul谢谢,但是我用Adam的答案解决了我的密码提取问题,它只需要Chrome。我担心这个答案可能使其他用户处于危险之中,而根本没有必要。我希望我的评论至少会使他们三思而后行,然后再运行通过不安全连接下载的不受信任的二进制文件。
Elzo

10

转到chrome://flags/#password-import-export,在Chrome中启用密码导出功能,然后可以将其导出为CSV文件。

资料来源:如何在Chrome浏览器中导出和导入密码


这应该是公认的答案。它很简单,不需要其他软件,并且完全安全,因为它不需要用户信任某些未知的可疑免费软件。
Elzo

5
作为更新,对于Chrome 59仍然可以使用,但是您需要在标记
Legion

对于Chrome 63,可以从正常的“设置”→“高级”→“管理密码”恢复使用
MicahLindström18年

对于Chrome 66,它不再起作用

5

我决定了如何显示Chromium的所有密码。已在Ubuntu 14.04和Chromium上测试:版本40.0.2214.111 Ubuntu 14.04(64位)。我使用了在搜索早期发现的js脚本。

输出格式如下:url | login | pass

脚步:

  1. 在Chromium浏览器中打开指向Chrome密码管理器的链接:chrome:// settings-frame / passwords

  2. 打开控制台(F12)并插入以下js代码:


    out="";
    out2="";
    var pm = PasswordManager.getInstance();
    var model = pm.savedPasswordsList_.dataModel;
    var pl = pm.savedPasswordsList_;

    for(i=0;i<model.length;i++){
       PasswordManager.requestShowPassword(i);
    };
  1. 步骤2之后,您会在Chromium密码管理器对话框中看到所有密码。

  2. 现在,将这部分js代码插入控制台:


    for(i=0;i<model.length;i++){
    var item = pl.getListItemByIndex(i);
    out+="\n"+model.array_[i][0]+"|"+model.array_[i][1]+"|"+item.childNodes[0].childNodes[2].childNodes[0].value;
    out2+='<br/>"http://'+model.array_[i][0]+'","'+model.array_[i][1]+'","'+item.childNodes[0].childNodes[2].childNodes[0].value+'","http://'+model.array_[i][0]+'","","",""';
    };
    console.log(out);
    document.write(out2);
  1. 现在,您将以我早先描述的格式查看所有密码。

  2. 用任何语言编写脚本,以便在FireFox之类的浏览器中导入密码:)

  3. 利润。

GitHub:https : //github.com/megmage/chrome-export-passwords

ps我尝试一起使用代码的所有部分,但这是行不通的:(

更新:GitHub中基于Chrome API的版本。


1
谢谢!对于Chrome 48.0.2564.109 m,需要进行较小的更改:将[0]替换为原点,将[1]替换为用户。
GKislin '16

我更新了github源代码。Chrome 51+和51之前版本的来源不同。
Skidisaster

步骤4不再起作用。我改用以下代码:gist.github.com/Grogs/b08d1fa288c3b6bb29ee3703218c2300
Grogs

4

您可以尝试XMarks

我很确定,如果您只是将配置文件(即C:\ Users \ Username \ AppData \ Local \ Google \ Chrome \ User Data \ Default中的内容)从Windows复制到Linux,那么一切都会正常运行,而无需任何出口/进口。


密码存储的确切文件是Login Data
chris-l

1
chrome的最新版本不再在该文件中存储实际密码。在Windows上,它使用系统凭据存储,而在Linux上,则使用系统密钥环。
ccpizza

xmarks不再同步密码,必须使用lastpass
13年

0

出口

  1. 转到chrome://flags/#password-import-export页面(粘贴到地址栏中)。
  2. 启用密码导入和导出,然后重新启动Web浏览器。
  3. 转到chrome://settings/passwords,您应该看到“ 导出”按钮。

    或者在DevTools Console(JS)中运行以下脚本:

    chrome.passwordsPrivate.exportPasswords();
    
  4. 导出为CSV并验证其内容。

    注意:如果CSV文件为空,请检查此Issue 808233


-1

修复Skidisaster发布的解决方案

out="";
out2="";
var pm = PasswordManager.getInstance();
var model = pm.savedPasswordsList_.dataModel;
var pl = pm.savedPasswordsList_;

for(i=0;i<model.length;i++){
   PasswordManager.requestShowPassword(i);
};


for(i=0;i<model.length;i++){
var item = pl.getListItemByIndex(i);
out+="\n"+model.array_[i].shownOrigin+"|"+model.array_[i].username+"|"+item.childNodes[0].childNodes[2].childNodes[0].value;
out2+='<br/>"http://'+model.array_[i].shownOrigin+'","'+model.array_[i].username+'","'+item.childNodes[0].childNodes[2].childNodes[0].value+'","http://'+model.array_[i][0]+'","","",""';
};
console.log(out);
console.log(out2);
document.write(out2);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.