使用 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.