เนื่องจาก Blowfish มีช่องโหว่ก่อน PHP 5.3.7 แนะนำให้ใช้ SHA-256 หรือ SHA-512 แทน ทั้งคู่มีรูปแบบ salt คล้าย Blowfish (ใช้ prefix $5$ สำหรับ SHA-256 และ $6$ สำหรับ SHA-512) นอกจากนี้ยังมีพารามิเตอร์ rounds ทางเลือกเพื่อบังคับให้ hash หลายรอบ
salt เองสั้นกว่าที่ 16 ตัวอักษร แต่ไม่เหมือน Blowfish มันอนุญาตตัวอักษรมากกว่า alphanumeric
ตัวอย่าง
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 hash ที่ได้จะมี salt เป็นส่วนหนึ่งของ hash ผลลัพธ์