Je souhaite pouvoir exporter les mots de passe à partir du navigateur Chrome afin de pouvoir en faire une copie imprimée.
Il existe plusieurs solutions répertoriées ci-dessous, toutes ne peuvent pas fonctionner avec les dernières versions de Chrome. La solution "officielle" de Google Chrome/Canary est la seule qui soit actuellement fiable. D’autres solutions potentiellement obsolètes incluent une solution basée sur JS pour n’importe quel système d’exploitation, une solution exclusivement sous OSX et une solution exclusivement sous Linux (il a été confirmé que cela fonctionnait sous Chrome 68).
chrome://flags
dans la barre d'adresse.Password import
et Password export
, puis redémarrez Chrome Canary.chrome://settings/passwords
où vous devriez voir une icône à trois points. En cliquant dessus, le IMPORT et EXPORT options:Mise à jour: dans les versions les plus récentes de Canary au lieu des boutons Import/Export, il y a un seul bouton à trois points qui contient Export option.
Remarque : À partir de chrome v60 + la méthode décrite ci-dessous ne fonctionne plus.
Un moyen indépendant du système d'exploitation d'extraire les mots de passe de Chrome vers un format lisible par un humain/un tableur consiste à utiliser l'API Chrome de Chrome, comme décrit sur la cette page :
PasswordManager is not defined
): 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);
IMPORTANT: Ce code concerne les versions de Chrome commençant par v50. Pour les versions antérieures, utilisez le code lié à l’original page github .
Les mots de passe doivent apparaître sur la même page au format CSV. Sélectionnez et copiez la sortie dans un fichier texte avec l'extension .CSV
. Vous pouvez l'ouvrir dans Excel/Libreoffice Calc. Le format est compatible avec Firefox Password Exporter , et peut être utilisé pour importer les mots de passe dans Firefox.
Les versions récentes de Google Chrome/Chromium pour OSX stockent les mots de passe dans le trousseau système, ce qui signifie que Chrome utilise le mécanisme de stockage des informations d'identification intégré à OSX. (Ceci est déjà des informations obsolètes).
Sur OSX, vous pouvez exporter les mots de passe en l’exécutant dans le terminal:
Sudo security dump-keychain -d login.keychain > keychain.txt
Et oui, vous devrez cliquer Autoriser tout autant de fois que vous avez des domaines dans votre trousseau de connexion, à moins que vous n'utilisiez un script à identificateur automatique . Le lien pointe également vers = script Ruby pour la conversion du fichier de mot de passe généré au format CSV . Le script Ruby a fonctionné pour moi après que j'ai supprimé la ligne contenant proto.gsub!('htps', 'https');
.
Sinon, vous pouvez utiliser l'application OSX native Accès au trousseau (tapez le nom dans Spotlight).
NOTE: Comme indiqué par oarfish , Chrome a cessé d'utiliser le trousseau OSX à partir de v.45.
Cette solution fonctionne toujours dans les versions actuelles de chrome (v68)
La recette ci-dessous est une solution réservée à Linux et a été prise à partir de ce message de blog que j'ai créé il y a quelque temps. Pour exporter vos mots de passe vers une feuille de calcul CSV pouvant être ouverte dans LibreOffice ou Excel:
Lancez Chrome/Chromium en utilisant l’une des lignes de commande ci-dessous. Cela lancera Chrome avec un dossier de profil personnalisé sans affecter votre profil Chrome actuel.
## 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
Configurez Google Synchron pour le nouveau profil temporaire et attendez que tout soit synchronisé dans le nuage, c'est-à-dire que vos signets apparaissent, que des extensions apparaissent, que le thème soit appliqué, etc. Vérifiez que les mots de passe sont restaurés dans le nuage Google en regardant sous Paramètres → Personnel. Stuff → Gérer les mots de passe enregistrés. S'ils n'apparaissent pas, attendez quelques minutes de plus. Note: Pour accéder aux paramètres d'ouverture de la page des mots de passe stockés et à password
dans la zone de recherche en haut à droite, le Gérer les mots de passe apparaîtra au bas de la page. Vous pouvez également utiliser le lien direct chrome://settings/passwords
.
Quittez Chrome.
Ensuite, ouvrez un terminal et cd
au nouveau profil Chrome créé:
cd /tmp/chrome-tmp/Default
Ouvrez maintenant le fichier de base de données Login Data
à l'aide de l'utilitaire de ligne de commande sqlite3, puis exportez la table des connexions . Pour que cela fonctionne, vous devez avoir installé sqlite3
sur votre système (dans la plupart des cas, Linuces est préinstallé ou disponible dans le dépôt).
sqlite3 'Login Data'
Ensuite, à l'invite SQLite, entrez les commandes ci-dessous. Pour obtenir de l'aide sur les commandes disponibles, saisissez .help
à l'invite.
.mode csv # other options are `html', `tabs', etc.
.headers on
.separator ","
.output chrome_passwords.csv
select * from logins;
.exit
Vous devriez maintenant avoir un fichier nommé chrome_passwords.csv
contenant tous vos mots de passe Chrome. Pour l'ouvrir avec LibreOffice, tapez:
libreoffice --calc chrome_passwords.csv
Le fichier Login Data
peut être ouvert directement avec une application d'interface graphique SQLite, telle que sqlitebrowser , sqliteman ou sqlitestudio , dont les deux premiers sont normalement disponibles dans Repos Linux.
ChromePass ressemble à l'outil souhaité. Il existe des options pour enregistrer au format HTML et texte brut, qui sont toutes deux très faciles à imprimer.
Trouvez la solution la plus simple ici: https://www.axllent.org/docs/view/export-chrome-passwords/
En juillet/août 2016, Google a introduit une fonctionnalité cachée qui vous permet d'importer et d'exporter vos mots de passe. Pour le moment, il vous suffit d'activer la fonctionnalité masquée dans les paramètres chrome://flags
et de redémarrer votre navigateur, après quoi vous disposez des fonctionnalités requises.
chrome://flags/#password-import-export
, puis activez la fonctionnalité.chrome://settings/passwords
(vous devrez peut-être attendre que vos mots de passe soient synchronisés), puis faites défiler l'écran en dessous de vos mots de passe et vous verrez deux nouveaux boutons, Importer et Exporter.Les autres méthodes d’exportation de mot de passe sont relativement impliquées; pour cette raison, j'ai écrit un extrait de code javascript simple pour prendre en charge le travail .
simple script to export chrome passwords, run when the password manager is open from the chrome console (hit f12 to access the console) in frame settings( passwords )
out="";out2="";dat=document.getElementsByClassName("password");
for(i=0;i<dat.length;i++){x=dat[i].parentNode;
out+="\n"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;
out2+="br/>"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;};console.log(out);
document.write(out2)
À partir de la réponse d’alog, j’ai constaté que les versions les plus récentes de chrome n’indiquaient que l’url et le nom d’utilisateur, en raison de la nécessité de saisir votre mot de passe Windows pour afficher un mot de passe. vous pouvez toujours utiliser l'extrait de code, mais uniquement après avoir cliqué et saisi votre mot de passe Windows pour chaque entrée de la liste.
j'ai donc créé un extrait de code jquery pour les versions plus récentes de chrome afin de contourner ce problème.
Comme précédemment, passez en mode développeur (f12) tout en affichant votre gestionnaire de mots de passe en chrome. Assurez-vous que le cadre est défini sur les paramètres (mot de passe), généralement en haut à gauche de la vue de la console.
Allez ici - Jquery 2.1.4 et copiez/collez le code jQuery dans la console, appuyez sur Entrée.
Maintenant, vous pouvez coller le code ci-dessous dans la console et il y listera vos mots de passe. Vous pouvez ensuite coller dans Excel et utiliser le texte dans les colonnes (premier résultat sur Google) fonction de délimiteur. (N'oubliez pas de définir votre délimiteur dans le code et la correspondance dans Excel.)
var out = '', delim = "|";
$.each($('.password input'), function(){
if($(this).hasClass('inactive-password')) $(this).next('button').click();
var C = $(this).closest('div[role=listitem]'),
D = C.find('.url').text(),
U = C.find('.name').text(),
P = $(this).val();
out += D + delim + U + delim + P +"\n";
});
console.log(out);
Vous devrez toujours entrer votre mot de passe Windows, mais ce ne devrait être qu'une fois. Rappelez-vous également de vérifier que tous les mots de passe sont devenus des mots de passe car certains peuvent être manqués. S'il échoue une première fois, essayez de réexécuter le code (flèche haut puis entrée) car jquery peut extraire la valeur avant que chrome ne saisisse le mot de passe.
J'espère que cela aide quelqu'un, excuses pour le jQuery - était purement pour mon propre confort.
Et bien sûr, si vous perdez vos mots de passe à cause de ce script (pas que cela devrait l'être), alors ... vos propres actions ... non intentionnelles ... blabla etc.
UPDATE
comme le précise ccpizza, le code ci-dessus a cessé de fonctionner. Voici donc une mise à jour pour ceux qui souhaitent encore faire le leur simplement:
var out = '', delim = "|";
$.each($('.password input'), function(){
if($(this).attr('type') == 'password' ) $(this).next('button').click();
var C = $(this).closest('div[role=listitem]'),
D = C.find('.url a').attr('href'),
U = C.find('.name input').val(),
P = $(this).val();
out += D + delim + U + delim + P +"\n";
});
console.log(out);
UPDATE 2 doit également mentionner que si vous accédez au cadre de paramètres par chrome://settings/passwords
, vous devez d'abord sélectionner le cadre. Sinon, vous pouvez utiliser: chrome://settings-frame/passwords
qui devrait permettre un accès direct.
À la fin de la réponse de ccpizza,
chrome://settings/passwords
.Il semble que la fonctionnalité Chrome Canary mentionnée par ccpizza soit désormais disponible sur Chrome normal. (Je suis actuellement à la version 72, sous Windows.)
Installez Dashlane (une application de gestion de mots de passe) où vous pouvez importer automatiquement tous les mots de passe stockés dans Google (il convient de demander au démarrage), puis en utilisant l'application que vous pouvez exportez-les dans un fichier archive (tel que le format CSV ou Excel).
chrome://flags/#password-import-export
(coller dans la barre d'adresse).Allez à chrome://settings/passwords
, vous devriez voir le bouton Exporter .
Vous pouvez également exécuter ce script dans Console DevTools (JS):
chrome.passwordsPrivate.exportPasswords();
Exporter au format CSV et en vérifier le contenu.
Remarque: Si le fichier CSV est vide, cochez cette case Problème 808233 .
Connexes: Google Chrome: Importer/Exporter des mots de passe?
Projets: megmage/chrome-export-passwords
, ChromePass .
Gists: Grogs/step4.js
, codekoala/export_chrome_passwords.js
.