我正在按照指南使用 MySQL 在 proFTPd 中创建用户。为了加密密码,本指南使用以下命令:
/bin/echo "{md5}"`/bin/echo -n "password" | openssl dgst -binary -md5 | openssl enc -base64`
我徘徊在PHP中如何做到这一点?我已经用谷歌搜索了这个,但我不知道如何在 PHP 中实现这个命令。它只是密码的base64编码形式的MD5哈希吗?
根据 ProFTPD 的SQL howto FAQ,您可以尝试使用:
$password = "{md5}".base64_encode(pack("H*", md5($password)));
它不仅仅是密码的 MD5 哈希值;它是 MD5 哈希的 base64 编码形式,加上一个前缀,指示使用了哪种哈希算法(这是{md5}
字符串的前导部分)。
希望这可以帮助!