Laravel 5: एक ही स्ट्रिंग पर bcrypt का उपयोग अलग-अलग मान देता है



laravel-5 (1)

ऐसा है कि bcrypt को काम करना चाहिए। विकिपीडिया देखें

बीक्रीप हिसिंग के दौरान एक यादृच्छिक 128-बिट नमक उत्पन्न करता है। यह नमक हैश का हिस्सा बन जाता है, इसलिए हम हमेशा एक ही इनपुट स्ट्रिंग के लिए एक अलग हैश मान प्राप्त करते हैं। यादृच्छिक नमक वास्तव में जानवर-बल के हमलों को रोकने के लिए प्रयोग किया जाता है।

हैश के विभिन्न मानों के कारण पासवर्ड मिलान प्रक्रिया विफल नहीं होगी। tinker में निम्न प्रयास करें

$hash1 = bcrypt('secret')
$hash2 = bcrypt('secret')

Hash::check('secret', $hash1)
Hash::check('secret', $hash2)

आपको Hash::check दोनों मामलों में true होना चाहिए।

इसलिए भी हैश मान अलग है, पासवर्ड मिलान विफल नहीं होगा।

मैं bcrypt पासवर्ड के लिए Laravel का bcrypt फ़ंक्शन का उपयोग कर रहा हूं। जब मैं करता हूं,

bcrypt('secret')

मुझे मिला

=> "$2y$10$mnPgYt2xm9pxb/c2I.SH.uuhgrOj4WajDQTJYssUbTjmPOcgQybcu"

लेकिन अगर मैं इसे फिर से चलाता हूं, तो मुझे मिल जाता है

=> "$2y$10$J8h.Xmf6muivJ4bDweUlcu/BaNzI2wlBiAcop30PbPoKa0kDaf9xi"

और इसी तरह...

तो, क्या मुझे हर बार अलग-अलग मान मिलते ही पासवर्ड मिलान प्रक्रिया विफल हो जाती है?





bcrypt