Как я могу экспортировать пароли Chrome?

22

Я хочу иметь возможность экспортировать пароли из браузера Chrome, чтобы я мог сделать печатную копию.

Кевин Панко
источник
Похоже, что функциональность теперь встроена в chrome: // settings / passwords. Смотрите мой ответ, или, если он будет обновлен, ccpizza's.
Матье К.

Ответы:

29

Ниже перечислены несколько решений, но не все из них могут работать с последними версиями Chrome. «Официальное» решение Google Chrome / Canary - единственное, которое в настоящее время является надежным. Другие потенциально устаревшие решения включают решение на основе JS для любой ОС, решение только для OSX и решение только для Linux (подтверждено, что оно работает в Chrome 68).

Официальные кнопки импорта / экспорта Chrome

  1. Требуется : установите последнюю версию Google Chrome (если последняя стабильная версия Google Chrome не работает, попробуйте Chrome Canary ).
  2. Войдите в свою учетную запись Google, настройте синхронизацию и подождите несколько минут, пока все пароли не будут синхронизированы.
  3. Откройте Chrome Flags, набрав chrome://flagsв адресной строке.
  4. Найдите и включить параметры Password importи Password export, и перезапустить Chrome Canary.
  5. Теперь откройте, chrome://settings/passwordsгде вы должны увидеть трехточечный значок. После нажатия на кнопку будет показывать IMPORTи EXPORTварианты:

Импорт-экспорт паролей Chrome

Обновление: в более поздних версиях Canary вместо кнопок «Импорт / экспорт» есть одна кнопка из трех точек, которая содержит Exportпараметр.

Решение на основе Javascript

Примечание . Начиная с Chrome v60 +, описанный ниже метод больше не работает.

Независимый от ОС способ извлечения паролей Chrome в удобочитаемый формат для человека / электронной таблицы заключается в API Chrome Javascript, как описано на этой странице :

  1. Откройте chrome: // settings-frame / passwords в вашем браузере (также доступно из Настройки Chrome> Показать дополнительные настройки ... > Пароли Chrome ).
  2. Откройте DevTools, щелкнув правой кнопкой мыши на странице> Проверить (или Ctr+Shift+Iили ⌘+⌥+I).
  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);

ВАЖНО! Этот код предназначен для версий Chrome, начиная с версии v50. Для более ранних версий используйте код, указанный на оригинальной странице github .

Пароли должны появляться на той же странице в формате CSV. Выберите и скопируйте вывод в текстовый файл с .CSVрасширением - его можно открыть в Excel / Libreoffice Calc. Формат совместим с Firefox Password Exporter и может использоваться для импорта паролей в Firefox.

Примечание для пользователей OSX

Последние версии Google Chrome / Chromium для OSX хранят пароли в системной цепочке ключей, что означает, что Chrome использует встроенный механизм хранения учетных данных OSX ( это уже устаревшая информация ).

В OSX вы можете экспортировать пароли, запустив это в терминале:

sudo security dump-keychain -d login.keychain > keychain.txt

И да, вам нужно будет нажимать « Разрешить все» столько раз, сколько у вас доменов в цепочке для ключей входа в систему, если только вы не используете сценарий автокликера . Ссылка также указывает на скрипт ruby ​​для преобразования сгенерированного файла паролей в CSV . Скрипт Ruby работал для меня после того, как я удалил строку, содержащую proto.gsub!('htps', 'https');.

В качестве альтернативы вы можете использовать нативное приложение OSX Keychain Access (введите имя в Spotlight).

ПРИМЕЧАНИЕ . Как указано oarfish , Chrome прекратил использовать брелок OSX начиная с версии 45.

Linux-решение для экспорта паролей

Это решение все еще работает в текущих версиях Chrome (v68)

Приведенный ниже рецепт предназначен только для Linux и взят из этого поста, который я недавно создал. Чтобы экспортировать ваши пароли в электронную таблицу CSV, которую можно открыть в LibreOffice или Excel:

  1. Если вы еще не синхронизированы в Chrome, подключитесь к своей учетной записи Google в настройках Chrome, чтобы ваши пароли синхронизировались с облачным хранилищем 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
    
  4. Настройте синхронизацию Google для нового временного профиля и подождите, пока все не будет синхронизировано из облака, то есть появятся ваши закладки, отобразятся расширения, тема будет применена и т. Д. Убедитесь, что пароли восстановлены из облака Google, выбрав «Настройки» → «Личные». Материал → Управление сохраненными паролями. Если они не появляются, то подождите еще пару минут. Примечание . Для доступа к странице сохраненных паролей откройте настройки и passwordв поле поиска в верхнем правом углу в нижней части страницы появится поле « Управление паролями» . Вы также можете использовать прямую ссылку chrome://settings/passwords.

  5. Выход из Chrome.

  6. Затем откройте терминал и откройте cdновый профиль Chrome:

    cd /tmp/chrome-tmp/Default
    
  7. Теперь откройте Login Dataфайл базы данных с помощью утилиты командной строки sqlite3 и дамп таблицы логинов . Чтобы это работало, вы должны быть sqlite3установлены в вашей системе (в большинстве случаев Linuces поставляется предварительно установленным или доступен в репозиториях).

    sqlite3 'Login Data'
    
  8. Затем в командной строке SQLite введите команды ниже. Для получения справки о доступных командах введите .helpв командной строке.

    .mode csv               # other options are `html', `tabs', etc.
    .headers on
    .separator ","
    .output chrome_passwords.csv
    select * from logins;
    .exit
    

Теперь у вас должен быть файл с именем, chrome_passwords.csvсодержащий все ваши пароли Chrome. Чтобы открыть его с помощью LibreOffice, введите:

    libreoffice --calc chrome_passwords.csv

Login DataФайл можно открыть непосредственно с графическим интерфейсом приложения SQLite, такой sqlitebrowser , sqliteman или sqlitestudio , из которых первые два , как правило , доступны в РЕПО Linux.

ccpizza
источник
1
@m_gol: в OSX Chrome хранит пароли в цепочке для ключей, и --password-store=...arg не действует. Login Dataвсе еще используется, но только для метаданных, которые не вписываются в цепочку для ключей. Итак, если вы хотите увидеть свои пароли, введите Keychain Access в центре внимания. Для переноса ваших паролей в другую систему OSX вам необходимо скопировать ~/Library/Keychains/login.keychain и ваш профиль chrome ~/Library/Application Support/Google/Chrome/<__YOUR_PROFILE_FOLDER__>. Если у вас есть только один профиль Chrome, будет вызвана папка профиля Default.
ccpizza
1
@confiq: шаги работают в версии 47 на Ubuntu, и я предполагаю, что она работает и в более ранних версиях.
ccpizza
1
Примечание. Начиная с 45, Chrome больше не использует связку ключей. bugs.chromium.org/p/chromium/issues/detail?id=466638
oarfish
1
Просто экспортируется все , используя этот пост productforums.google.com/d/msg/chrome/99KZmH2DRrA/5l37AibyAwAJ работал как шарм, только там нет кнопки экспорта: не найти три вертикальные точки рядом с «Saved Пароль» заголовок, то вы будете найти 'экспорт' @ccpizza: возможно, обновить ответ?
Питер Версни
1
@ccpizza, есть новое решение JS, которое работает с Chrome 63+: gist.github.com/ryanpcmcquen/cee082bff514f8849a29c409fe3571ff
ryanpcmcquen
7

ChromePass выглядит как инструмент, который вы хотите. Существуют варианты сохранения в HTML и в виде открытого текста, которые очень легко распечатать.

Роберт Роухани
источник
Chrome выдает предупреждение при попытке загрузить * .exe. Это скачать нормально?
Allman
Кажется твердым. Я попробовал это сделать, и хотя Защитник Windows посчитал, что это вредоносная программа, я не видел никаких изменений в моей системе.
Джедиджа
5
«Я не видел никаких изменений в моей системе». это ничего не значит! Большинство программ (все?) Делают изменения, которые вы не замечаете, а многие делают вещи, которые вы никогда не замечаете.
Филип Хаглунд
4

Нашел самое простое решение здесь: https://www.axllent.org/docs/view/export-chrome-passwords/

По состоянию на июль / август 2016 года Google представила скрытую функцию, которая позволяет вам импортировать и экспортировать ваши пароли. Все, что вам сейчас нужно сделать, это включить скрытую функцию в chrome://flagsнастройках и перезапустить браузер, после чего у вас появятся необходимые функции.

инструкции

  • В вашем Google Chrome (или Chromium, в зависимости от того, что вы используете), введите следующее в адресной строке:, chrome://flags/#password-import-exportа затем включите эту функцию.
  • Перезапустите браузер.
  • Перейдите к своим паролям chrome://settings/passwords(возможно, вам придется немного подождать, пока ваши пароли будут синхронизированы), затем прокрутите вниз до паролей ниже, и вы увидите две новые кнопки, Импорт и экспорт.
  • Нажмите «Экспорт», убедившись, что вы выбрали правильный формат (CSV).
Emilien
источник
Так просто ... Я удивлен, что это не самый популярный ответ.
Крис
Даже с флагом я не вижу кнопку импорта / экспорта, как описано. Возможно, теперь это вообще было удалено, когда пароли доступны по адресу passwords.google.com ... хотя на этой странице также нет параметров.
CopyJosh
В настоящее время запущен Chromium 59.0.3071.109 на Ubuntu 16.04, у меня все еще есть опция.
Эмильен
Это больше не работает с последней версией Chrome (февраль '19).
SamAndrew81
1
Запустив Chromium версии 73.0.3683.75 в Ubuntu 16.04 (64 бита), я подтверждаю, что функции # password-import-export больше нет, кажется, что осталась только функция импорта: chrome: // flags / # PasswordImport ( что не то, что мы хотим здесь). На этой странице productforums.google.com/forum/#!topic/chrome/99KZmH2DRrA подтверждается, что этот параметр отключен, но отображается сообщение «В chrome: // settings / passwords нажмите значок меню из 3 точек, чтобы выбрать« Импорт и экспорт ».» (У меня, кажется, нет значка меню из трех точек ... Но, может быть, потому что у меня больше нет паролей, сохраненных в Chromium?) FWIW ...
Эмильен
2

Другие методы экспорта паролей довольно сложны; по этой причине я написал простой фрагмент кода javascript, чтобы позаботиться о работе .

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)
Журнал
источник
1
Это НЕ работает с Chrome 37. Похоже, что любой элемент dom, получающий api, возвращает ноль на этой странице :(
Эд Орси,
@EdOrsi Вам нужно выбрать правильный кадр (как уже упоминалось в своем ответе в
журнале
@alog Большое спасибо, этот ответ мне очень помог!
Стейн де Витт
0

Работая с ответом alog, я обнаружил, что самые последние версии Chrome будут выводить только URL и имя пользователя из-за необходимости ввода пароля Windows для просмотра пароля. Вы все еще можете использовать этот фрагмент, но только после нажатия и ввода пароля Windows для каждой записи в списке.

поэтому я создал фрагмент jquery для более поздних версий Chrome, чтобы обойти это.

Как и прежде, войдите в режим разработчика (f12), просматривая менеджер паролей в Chrome. Убедитесь, что для фрейма установлены настройки (пароль), обычно в левом верхнем углу экрана консоли.

Перейдите сюда - Jquery 2.1.4 и скопируйте / вставьте код jquery в консоль, нажмите Enter.

Теперь вы можете вставить приведенный ниже код в консоль, и там будут перечислены ваши пароли. Затем вы можете вставить в Excel и использовать функцию разделителя текста в столбцы (первый результат в Google) . (Не забудьте установить свой разделитель в коде и соответствовать в 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);

Вам все еще нужно будет ввести свой пароль Windows, но он должен быть только один раз. Также не забудьте проверить, что все пароли превратились в пароли, поскольку некоторые из них могут быть пропущены. Если это не удается в первый раз, пожалуйста, попробуйте повторно выполнить код (стрелка вверх, затем введите), так как jquery может получить значение до того, как chrome введет пароль на вход.

Надеюсь, это кому-нибудь поможет, извиняюсь за jQuery - чисто для моего удобства.

И, конечно, если вы потеряете свои пароли из-за этого сценария (не так, как это должно), то ... ваши собственные действия ... не предназначены ... бла и т. Д.

ОБНОВИТЬ

Как утверждает ccpizza, приведенный выше код перестал работать, поэтому вот обновление для тех, кто все еще хочет сделать их просто:

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);

ОБНОВЛЕНИЕ 2 также должно упомянуть, если вы обращаетесь к рамке настроек, chrome://settings/passwordsвам нужно будет сначала выбрать рамку. В качестве альтернативы вы можете использовать: chrome://settings-frame/passwordsкоторый должен позволить прямой доступ.

Slappy-х
источник
это не работает в последних версиях Chrome, например, 51.0.2704.84 - в списке указаны только имена пользователей.
ccpizza
0
  1. Перейти на chrome://flags/#password-import-exportстраницу (вставить в адресную строку).
  2. Включите импорт и экспорт пароля и перезапустите веб-браузер.
  3. Перейти chrome://settings/passwords, вы должны увидеть кнопку экспорта .

    Или запустите этот скрипт в консоли DevTools (JS):

    chrome.passwordsPrivate.exportPasswords();
    
  4. Экспортируйте в CSV и проверьте его содержимое.

    Примечание. Если файл CSV пуст, проверьте этот выпуск 808233 .


Смотрите также

Связанный: Google Chrome: импорт / экспорт паролей?

Проекты: megmage/chrome-export-passwords, ChromePass .

Г: Grogs/step4.js, codekoala/export_chrome_passwords.js.

kenorb
источник
0

Установите Dashlane (приложение для управления паролями), где вы можете автоматически импортировать все пароли, хранящиеся в Google (они должны запрашиваться при запуске), затем с помощью приложения вы можете экспортировать их в архивный файл (например, в формате CSV или Excel).

kenorb
источник
0

Как в конце ответа ccpizza,

  1. Перейти к chrome://settings/passwords.
  2. Нажмите на три точки справа от сохраненных паролей.
  3. Щелкните появившийся пункт меню «Экспорт».

Похоже, что функциональность Chrome Canary, которую упоминает ccpizza, теперь работает на обычном Chrome. (Я в настоящее время на версии 72, на Windows.)

Матье К.
источник