使用 PHP 加密密码


由于 Blowfish 在 PHP 版本 5.3.7 之前存在漏洞,建议改用 SHA-256 或 SHA-512。它们都具有类似于 Blowfish 的盐格式(SHA-256 的前缀为 $5$,SHA-512 的前缀为 $6$)。除此之外,它还包含可选的 rounds 参数来强制进行多次哈希。

单独的盐只有 16 个字符,相对较短,但也与 Blowfish 不同,它允许使用除字母数字以外的字符。

示例

 现场演示

echo 'SHA-256 (no rounds): ' . crypt('password-to-encrypt', '$5$YourSaltyStringz$');
echo 'SHA-512 (with rounds): ' . crypt('password-to-encrypt', '$6$rounds=1000$YourSaltyStringz$');

输出

这会产生以下输出 −

SHA-256 (no rounds): $5$YourSaltyStringz$td0INaoVoMPD4kieVrkGE67siKj3N8.HSff8ep0Ybs8SHA-512 (with rounds): $6$rounds=1000$YourSaltyStringz$A5UHscsEbSnPnaV6PmSF5T/MQK.Wc3klA.18c.gXG5pD0PVYSVr/7xwRu1XJyn8XpiMDNRTvpJm5S8DkmSywz1

与 Blowfish 类似,生成的哈希值将包含盐作为结果哈希值的一部分。

更新于: 07-04-2020

318 次查看

开启你的 职业 生涯

完成课程取得认证

开始
广告
© . All rights reserved.