解码 Plesk 密码

Decoding Plesk passwords

第一次提问。

我有一个显示 Plesk 12.5 密码的客户面板。现在我在生成密码时手动输入它。但是客户更改了他们的密码,忘记了它,然后一切都失败了。我使用 Plesk API 接收密码,但这是加密的。

$CngpmNFXTsfRswHH$nntnTlj0KLkhEidK.XVWgbyv9HcAE8YV/fog0C6aG17

我发现密钥在 /etc/psa/private/secret_key 中。

我试过:

$res_non = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $hash, 'ecb');

$decrypted = $res_non;
$dec_s2 = strlen($decrypted);

$padding = ord($decrypted[$dec_s2-1]);
$decrypted = substr($decrypted, 0, -$padding);

但这 return 我的密码不正确。

感谢任何帮助,谢谢!

解密它的方法确实存在,但它不是 public,而且可能永远不会。连支持都不知道解密的方法。 您可以通过mail_auth_view 命令查看邮件用户的密码。仅此而已。

来源 - 我在 Plesk dev 工作了一段时间。

这似乎是 sha256crypt hash, without storing the number of rounds (which means it's likely hard-coded). If so, this isn't encrypted。散列不是加密。散列是密码学的一个子主题,但完全独立于加密。

  • 散列:将无限可能值集合单向转换为大量但有限的可能输出集合中的值。无钥匙。
  • 加密:信息的可逆转换,由密钥保护(and/or,在某些算法中,是 public 密钥)。

请不要混淆两者。

如何在登录屏幕上通过 "Forgot your password?" 重设密码?