如何从 phpStorm 中检索已保存的 ftp 密码?

How to retrieve a saved ftp password from phpStorm?

我知道从技术上讲,这个问题应该在 phpStorm 的论坛上提出,但作为一个流行的 IDE(我打赌最终的解决方案也适用于 JetBrains 的其他流行的 IDE),我在想:

如果需要任何上下文:我不小心将已保存连接的连接类型从 ftp 切换为 local folder,当我切换回来时,保存的凭据消失了。

问题:我可以找回保存的密码吗...

一种对我有用的方法是安装 Wireshark。
使用 'ftp' 的捕获过滤器,并在 PHPStorm 中执行 "Test connection"。
现在停止捕获并检查您嗅到的内容。密码会在那里。

编辑:此方法只能在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

我知道这是一个 1 年前的问题,但对于其他人,您可以尝试使用 CTRL+C 复制选定的(隐藏的)密码,并将其粘贴到文本文档中(在 Debian 上使用 2016.3 测试) .

如果您使用 KeePass 数据库文件存储密码,您可以轻松地为该文件设置密码,保存然后在 KeePass 管理器中打开,或者迁移到其他 PHPStorm。

  1. 转到Settings/Preferences |外观与行为 |系统设置 |密码,输入新的主密码并保存。
  2. 使用保存的主密码打开/.PhpStorm2017.1/config/c.kdbx(在"Keepass 2"或"Keeweb"中)。
  3. 在这里!

在这里查看答案

对于 OSX 用户

打开钥匙串 -> select System Roots 钥匙串(在左侧) -> 搜索 IntelliJ

如果单击它,您将在“帐户”字段中看到 ftp-用户名。您也可以使用右键单击记录来复制密码。