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

如何从phpStorm检索保存的ftp密码?,ftp,phpstorm,setup-deployment,password-recovery,password-retrieval,Ftp,Phpstorm,Setup Deployment,Password Recovery,Password Retrieval,我知道从技术上讲,这个问题应该在phpStorm的论坛上提出,但作为一个流行的IDE(我打赌最终的解决方案也适用于JetBrains的其他流行IDE),我想: SO上的某个人可能知道并分享答案(比我从供应商那里得到答案更快) 该问题的答案可能对其他编码人员有用且有价值(就此而言,即使我需要进入供应商论坛,当我找到答案时,我也会在这里找到答案) 如果需要上下文:我不小心将已保存连接的连接类型从ftp切换到local folder,当我切换回时,已保存的凭据不见了 问题:我可以检索保存的密码吗

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

  • SO上的某个人可能知道并分享答案(比我从供应商那里得到答案更快)
  • 该问题的答案可能对其他编码人员有用且有价值(就此而言,即使我需要进入供应商论坛,当我找到答案时,我也会在这里找到答案)
如果需要上下文:我不小心将已保存连接的连接类型从
ftp
切换到
local folder
,当我切换回时,已保存的凭据不见了

问题:我可以检索保存的密码吗

  • 角度1:…从这台计算机
  • 角度2:…来自另一台保存了相同凭据的计算机,我可以通过TeamViewer访问该计算机,但有密码●●●●●●(隐藏的)

对我来说,一种行之有效的方法是安装Wireshark。
使用“ftp”的捕获筛选器,并在PHPStorm内执行“测试连接”。

现在停止捕获,检查你嗅到的东西。密码将在那里

编辑:此方法只能在2016.1版或之前的版本中使用。对于较新版本(可能是2016.2),他们更改了编码方法。我没有破译它的线索

  • 打开C:\Users\.WebIde100\config\options\webserver.xml
  • 找到您的FTP并从password属性获取加密密码
  • 解密密码。我已经编写了一个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;
    
    如果你相信我的工具,你可以使用


  • 我知道这是一个有1年历史的问题,但对于其他人来说,你可以尝试用CTRL+C复制所选(隐藏)密码,并将其粘贴到文本文档中(使用Debian上的2016.3进行测试)。

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

  • 转到设置/首选项|外观和行为|系统设置 |密码,输入新的主密码并保存
  • 使用保存的主密码打开/.PhpStorm2017.1/config/c.kdbx(在“Keepass 2”或“Keeweb”中)
  • 给你 看到答案了吗

    只要你没有服务器和用户名,知道通行证就没有任何用处。现在不行,但我会测试一下。谢谢。有人知道webserver.xml在Mac上的位置吗?对于Mac:
    ~/Library/Preferences/PhpStorm2017.X/options/webserver.xml
    哈希密码似乎不再在
    webserver.xml
    中。我相信他们会将其存储在二进制文件
    ~/Library/Caches/PhpStorm2017.X/Caches/records.dat中。dat
    会更喜欢javascript或类似的东西,因此我不必为此设置整个web服务器:P但您的脚本从2017年3月起为webServers.xml完成了工作。谢谢!想知道为什么这个过程会这么复杂。可恢复编码等于根本没有任何安全措施(除了防止明文存储),您可以将模式切换到FTP进行嗅探。竖起大拇指!使用2016.3.2为我工作。只需复制部署配置文件,即可保持原始设置不变。然后将新配置文件设置为FTP,输入一些随机的公共FTP服务器,并使用Wireshark观察端口21的流量。简单而干净。不需要任何附加软件。不错,哇。。谢谢……)不再处理2017.1.3,正在寻找新答案。由于该答案不再是最新答案,且实际答案的得票率较低,因此被否决