के रूप में जोहानिस Gorset ने कहा, Matasano Security से थॉमस Ptacek द्वारा पोस्ट बताता है कि क्यों सरल, इस तरह के MD5, SHA1, SHA256 और SHA512 के रूप में सामान्य प्रयोजन हैशिंग कार्यों गरीब पासवर्ड हैशिंग विकल्प हैं ।
क्यों? वे बहुत तेज़ हैं - आप आधुनिक कंप्यूटर के साथ प्रति सेकंड कम से कम 1,000,000 एमडी 5 हैश की गणना कर सकते हैं, इसलिए ब्रूट बल उन अधिकांश पासवर्डों के खिलाफ संभव है जो लोग उपयोग करते हैं। और यह GPU आधारित क्रैकिंग सर्वर क्लस्टर से बहुत कम है!
बिना चाबी खींचे नमकीन का मतलब है कि आप इंद्रधनुष तालिका को रोक नहीं सकते हैं, आपको उस विशिष्ट नमक के लिए तदर्थ का निर्माण करने की आवश्यकता है। लेकिन यह वास्तव में बहुत मुश्किल काम नहीं करेगा।
उपयोगकर्ता @ कहता है:
हर कोई इस बारे में बात कर रहा है जैसे कि उन्हें इंटरनेट पर हैक किया जा सकता है। जैसा कि पहले ही कहा गया है, प्रयासों को सीमित करने से इंटरनेट पर पासवर्ड क्रैक करना असंभव हो जाता है और इसका हैश से कोई लेना-देना नहीं है।
वे करने की जरूरत नहीं है। जाहिर है, लिंक्डइन के मामले में उन्होंने लॉगिन डीबी टेबल प्राप्त करने के लिए सामान्य एसक्यूएल इंजेक्शन भेद्यता का उपयोग किया और लाखों पासवर्ड ऑफ़लाइन तोड़ दिए।
फिर वह ऑफ़लाइन आक्रमण परिदृश्य पर वापस जाता है:
सुरक्षा वास्तव में खेल में आती है जब पूरे डेटाबेस से समझौता किया जाता है और एक हैकर md5h के खिलाफ प्रति सेकंड 100 मिलियन पासवर्ड प्रयास कर सकता है। SHA512 लगभग 10,000 गुना धीमा है।
नहीं, SHA512 MD5 की तुलना में 10000 गुना धीमा नहीं है - यह केवल लगभग दो बार लेता है। दूसरी ओर, Crypt / SHA512 , एक बहुत ही अलग जानवर है, जो कि अपने BCrypt समकक्ष की तरह, मुख्य स्ट्रेचिंग करता है , एक यादृच्छिक नमक के साथ एक बहुत अलग हैश का निर्माण करता है और 500 और 999999 के बीच कुछ भी लेगा जितना कि गणना करेगा। (स्ट्रेचिंग ट्यून करने योग्य है)।
SHA512 => aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Crypt/SHA512 => $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
तो PHP के लिए विकल्प या तो क्रिप्ट / ब्लोफिश (BCrypt), क्रिप्ट / SHA256 या क्रिप्ट / SHA512 है। या कम से कम क्रिप्ट / एमडी 5 (पीएचके)। Www.php.net/manual/en/function.crypt.php देखें