Как восстановить сохраненный пароль ftp из phpStorm?

Я знаю, что технически этот вопрос следует задавать на форумах phpStorm, но, будучи популярной IDE (держу пари, возможное решение подойдет и для других популярных IDE от JetBrains), я думаю:

  • кто-то на SO может знать и поделиться ответом (быстрее, чем я получу его от продавца)
  • ответ на вопрос может быть полезным и ценным для других программистов (в этом отношении, даже если мне нужно будет зайти на форум продавца, я вернусь с ответом здесь, когда найду его)

Если есть необходимость в контексте: я случайно переключил тип сохраненного соединения с ftp в local folder и когда я переключился обратно, сохраненные учетные данные исчезли.

Вопрос: могу ли я восстановить сохраненный пароль...

  • Угол 1: ... с этого компьютера?
  • Угол 2: ... с другого компьютера, на котором сохранены те же учетные данные, к которым я мог получить доступ через TeamViewer, но имеет пароль ●●●●●●(скрыто)?

5 ответов

Решение

Я знаю, что это вопрос на 1 год, но для всех остальных вы можете попытаться скопировать выбранный (скрытый) пароль с помощью CTRL+C и вставить его в текстовый документ (протестировано с 2016.3 на Debian).

Редактировать: этот метод можно использовать только в версии 2016.1 или ранее. Для более новой версии (вероятно, 2016.2) они изменили метод кодирования. Нет никакой подсказки для меня, чтобы расшифровать его.

  1. Откройте C:\Users\.WebIde100\config\options\webServers.xml
  2. Найдите свой FTP и получите зашифрованный пароль из атрибута пароля.
  3. Расшифруйте пароль. Я написал PHP-скрипт для расшифровки строки:

      $pwd = "Your encrypted password here.";
      $decrypted = '';
    
      while (strlen($pwd) > 0) {
        $decrypted .= chr(hexdec(substr($pwd, 0, 4)) ^ hexdec('dfaa'));
        $pwd = substr($pwd, 4, strlen($pwd) - 1);
      }
      echo $decrypted;
    

    Если вы доверяете моим инструментам, вы можете использовать https://louislam.net/phpstorm-decrypt-password

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

  1. Зайдите в Настройки / Настройки | Внешний вид и поведение | Системные настройки | Пароли, введите новый мастер-пароль и сохраните.
  2. Откройте /.PhpStorm2017.1/config/c.kdbx (в "Keepass 2" или "Keeweb") с сохраненным мастер-паролем.
  3. Вот!

См ответ здесь Восстановить сохраненный (скрытый) пароль SSH от PhpStorm 2017.1

Один способ, который только что работал для меня, состоял в том, чтобы установить Wireshark.
Используйте фильтр захвата "ftp" и выполните "Тест соединения" внутри PHPStorm.
Теперь остановите захват и изучите, что вы нюхали. Пароль будет там.

Для пользователей OSX

Откройте цепочку ключей -> выберите цепочку ключей System Roots (слева) -> найдите IntelliJ.

Если вы нажмете на нее, вы увидите имя пользователя ftp в поле «Учетная запись». Вы также можете щелкнуть правой кнопкой мыши по записям, чтобы скопировать пароль.

Другие вопросы по тегам