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