इस तथ्य के कारण कि PHP 5.3.7 से पहले के संस्करण में Blowfish में कमजोरियां हैं, SHA-256 या SHA-512 का उपयोग करने का सुझाव दिया जाएगा। उन दोनों में Blowfish के समान साल्ट फॉर्मेट है (SHA-256 के लिए $5$ प्रीफिक्स और SHA-512 के लिए $6$ प्रीफिक्स का उपयोग करें)। इसके अलावा, इसमें मल्टीपल हैशिंग को मजबूर करने के लिए एक वैकल्पिक राउंड्स पैरामीटर भी होता है।
साल्ट अपने आप में केवल 16 कैरेक्टर्स पर थोड़ा छोटा होता है लेकिन Blowfish के विपरीत, यह केवल अल्फान्यूमेरिक कैरेक्टर्स से अधिक की अनुमति देता है।
उदाहरण
echo 'SHA-256 (कोई राउंड नहीं): ' . crypt('password-to-encrypt', '$5$YourSaltyStringz$');
echo 'SHA-512 (राउंड के साथ): ' . crypt('password-to-encrypt', '$6$rounds=1000$YourSaltyStringz$');
आउटपुट
यह निम्न आउटपुट देगा:
SHA-256 (कोई राउंड नहीं): $5$YourSaltyStringz$td0INaoVoMPD4kieVrkGE67siKj3N8.HSff8ep0Ybs8SHA-512 (राउंड के साथ): $6$rounds=1000$YourSaltyStringz$A5UHscsEbSnPnaV6PmSF5T/MQK.Wc3klA.18c.gXG5pD0PVYSVr/7xwRu1XJyn8XpiMDNRTvpJm5S8DkmSywz1
Blowfish के समान, परिणामी हैश में साल्ट परिणामस्वरूप हैश के हिस्से के रूप में शामिल होगा।