Я хочу иметь возможность экспортировать пароли из браузера Chrome, чтобы я мог сделать печатную копию.
Я хочу иметь возможность экспортировать пароли из браузера Chrome, чтобы я мог сделать печатную копию.
Ответы:
Ниже перечислены несколько решений, но не все из них могут работать с последними версиями Chrome. «Официальное» решение Google Chrome / Canary - единственное, которое в настоящее время является надежным. Другие потенциально устаревшие решения включают решение на основе JS для любой ОС, решение только для OSX и решение только для Linux (подтверждено, что оно работает в Chrome 68).
chrome://flags
в адресной строке.Password import
и Password export
, и перезапустить Chrome Canary.chrome://settings/passwords
где вы должны увидеть трехточечный значок. После нажатия на кнопку будет показывать IMPORTи EXPORTварианты:Обновление: в более поздних версиях Canary вместо кнопок «Импорт / экспорт» есть одна кнопка из трех точек, которая содержит Exportпараметр.
Примечание . Начиная с Chrome v60 +, описанный ниже метод больше не работает.
Независимый от ОС способ извлечения паролей Chrome в удобочитаемый формат для человека / электронной таблицы заключается в API Chrome Javascript, как описано на этой странице :
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);
ВАЖНО! Этот код предназначен для версий Chrome, начиная с версии v50. Для более ранних версий используйте код, указанный на оригинальной странице github .
Пароли должны появляться на той же странице в формате CSV. Выберите и скопируйте вывод в текстовый файл с .CSV
расширением - его можно открыть в Excel / Libreoffice Calc. Формат совместим с Firefox Password Exporter и может использоваться для импорта паролей в Firefox.
Последние версии 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.
Это решение все еще работает в текущих версиях Chrome (v68)
Приведенный ниже рецепт предназначен только для Linux и взят из этого поста, который я недавно создал. Чтобы экспортировать ваши пароли в электронную таблицу CSV, которую можно открыть в LibreOffice или Excel:
Запустите 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
Настройте синхронизацию Google для нового временного профиля и подождите, пока все не будет синхронизировано из облака, то есть появятся ваши закладки, отобразятся расширения, тема будет применена и т. Д. Убедитесь, что пароли восстановлены из облака Google, выбрав «Настройки» → «Личные». Материал → Управление сохраненными паролями. Если они не появляются, то подождите еще пару минут. Примечание . Для доступа к странице сохраненных паролей откройте настройки и password
в поле поиска в верхнем правом углу в нижней части страницы появится поле « Управление паролями» . Вы также можете использовать прямую ссылку chrome://settings/passwords
.
Выход из Chrome.
Затем откройте терминал и откройте cd
новый профиль Chrome:
cd /tmp/chrome-tmp/Default
Теперь откройте Login Data
файл базы данных с помощью утилиты командной строки sqlite3 и дамп таблицы логинов . Чтобы это работало, вы должны быть sqlite3
установлены в вашей системе (в большинстве случаев Linuces поставляется предварительно установленным или доступен в репозиториях).
sqlite3 'Login Data'
Затем в командной строке 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.
--password-store=...
arg не действует. Login Data
все еще используется, но только для метаданных, которые не вписываются в цепочку для ключей. Итак, если вы хотите увидеть свои пароли, введите Keychain Access в центре внимания. Для переноса ваших паролей в другую систему OSX вам необходимо скопировать ~/Library/Keychains/login.keychain
и ваш профиль chrome ~/Library/Application Support/Google/Chrome/<__YOUR_PROFILE_FOLDER__>
. Если у вас есть только один профиль Chrome, будет вызвана папка профиля Default
.
ChromePass выглядит как инструмент, который вы хотите. Существуют варианты сохранения в HTML и в виде открытого текста, которые очень легко распечатать.
Нашел самое простое решение здесь: https://www.axllent.org/docs/view/export-chrome-passwords/
По состоянию на июль / август 2016 года Google представила скрытую функцию, которая позволяет вам импортировать и экспортировать ваши пароли. Все, что вам сейчас нужно сделать, это включить скрытую функцию в chrome://flags
настройках и перезапустить браузер, после чего у вас появятся необходимые функции.
chrome://flags/#password-import-export
а затем включите эту функцию.chrome://settings/passwords
(возможно, вам придется немного подождать, пока ваши пароли будут синхронизированы), затем прокрутите вниз до паролей ниже, и вы увидите две новые кнопки, Импорт и экспорт.Другие методы экспорта паролей довольно сложны; по этой причине я написал простой фрагмент кода 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)
Работая с ответом 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
который должен позволить прямой доступ.
chrome://flags/#password-import-export
страницу (вставить в адресную строку).Перейти chrome://settings/passwords
, вы должны увидеть кнопку экспорта .
Или запустите этот скрипт в консоли DevTools (JS):
chrome.passwordsPrivate.exportPasswords();
Экспортируйте в CSV и проверьте его содержимое.
Примечание. Если файл CSV пуст, проверьте этот выпуск 808233 .
Связанный: Google Chrome: импорт / экспорт паролей?
Проекты: megmage/chrome-export-passwords
, ChromePass .
Как в конце ответа ccpizza,
chrome://settings/passwords
.Похоже, что функциональность Chrome Canary, которую упоминает ccpizza, теперь работает на обычном Chrome. (Я в настоящее время на версии 72, на Windows.)