如何从 phpStorm 中检索已保存的 ftp 密码?
How to retrieve a saved ftp password from phpStorm?
我知道从技术上讲,这个问题应该在 phpStorm 的论坛上提出,但作为一个流行的 IDE(我打赌最终的解决方案也适用于 JetBrains 的其他流行的 IDE),我在想:
- SO 上的某个人可能知道并分享答案(比我从供应商那里得到的更快)
问题 答案可能对其他编码员有用且有价值(就此而言,即使我需要继续访问供应商论坛,我也会在这里找到答案, 当我找到它时)
如果需要任何上下文:我不小心将已保存连接的连接类型从 ftp
切换为 local folder
,当我切换回来时,保存的凭据消失了。
问题:我可以找回保存的密码吗...
- 角度 1:...从这台计算机?
- 角度 2:...来自另一台保存了相同凭据的计算机,我可以通过 TeamViewer 访问它,但密码为●●●●●●(隐藏)?
一种对我有用的方法是安装 Wireshark。
使用 'ftp' 的捕获过滤器,并在 PHPStorm 中执行 "Test connection"。
现在停止捕获并检查您嗅到的内容。密码会在那里。
编辑:此方法只能在2016.1及之前的版本使用。对于较新的版本(可能是 2016.2),他们更改了编码方法。我没有解码的线索。
- 打开 C:\Users\.WebIde100\config\options\webServers.xml
- 找到你的 FTP 并从密码属性中获取加密后的密码。
解密密码。我写了一个 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。
- 转到Settings/Preferences |外观与行为 |系统设置
|密码,输入新的主密码并保存。
- 使用保存的主密码打开/.PhpStorm2017.1/config/c.kdbx(在"Keepass 2"或"Keeweb"中)。
- 在这里!
在这里查看答案
对于 OSX 用户
打开钥匙串 -> select System Roots 钥匙串(在左侧) -> 搜索 IntelliJ。
如果单击它,您将在“帐户”字段中看到 ftp-用户名。您也可以使用右键单击记录来复制密码。
我知道从技术上讲,这个问题应该在 phpStorm 的论坛上提出,但作为一个流行的 IDE(我打赌最终的解决方案也适用于 JetBrains 的其他流行的 IDE),我在想:
- SO 上的某个人可能知道并分享答案(比我从供应商那里得到的更快)
问题答案可能对其他编码员有用且有价值(就此而言,即使我需要继续访问供应商论坛,我也会在这里找到答案, 当我找到它时)
如果需要任何上下文:我不小心将已保存连接的连接类型从 ftp
切换为 local folder
,当我切换回来时,保存的凭据消失了。
问题:我可以找回保存的密码吗...
- 角度 1:...从这台计算机?
- 角度 2:...来自另一台保存了相同凭据的计算机,我可以通过 TeamViewer 访问它,但密码为●●●●●●(隐藏)?
一种对我有用的方法是安装 Wireshark。
使用 'ftp' 的捕获过滤器,并在 PHPStorm 中执行 "Test connection"。
现在停止捕获并检查您嗅到的内容。密码会在那里。
编辑:此方法只能在2016.1及之前的版本使用。对于较新的版本(可能是 2016.2),他们更改了编码方法。我没有解码的线索。
- 打开 C:\Users\.WebIde100\config\options\webServers.xml
- 找到你的 FTP 并从密码属性中获取加密后的密码。
解密密码。我写了一个 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。
- 转到Settings/Preferences |外观与行为 |系统设置 |密码,输入新的主密码并保存。
- 使用保存的主密码打开/.PhpStorm2017.1/config/c.kdbx(在"Keepass 2"或"Keeweb"中)。
- 在这里!
在这里查看答案
对于 OSX 用户
打开钥匙串 -> select System Roots 钥匙串(在左侧) -> 搜索 IntelliJ。
如果单击它,您将在“帐户”字段中看到 ftp-用户名。您也可以使用右键单击记录来复制密码。