SHA1, Sha0, MD4 और md5 सब पिछले कुछ वर्षों में असुरक्षित पाए गए हैं। समस्या यह है कि यदि कोई हमलावर 2 अलग-अलग संदेशों को उत्पन्न कर सकता है जो परिणामी हैश उत्पन्न करते हैं, तो इसे टकराव कहा जाता है। इससे पीकेआई, पासवर्ड प्रबंधन, फ़ाइल अखंडता जांच आदि के लिए बहुत सारी समस्याएं होती हैं। वर्तमान में sha1 केवल 2^52 बिट सुरक्षा प्रदान करता है जो हमलावरों की पहुंच के भीतर है। जहां SHA-256 (शा 2 परिवार का सबसे छोटा सदस्य) 2^256 बिट्स प्रदान करता है।
सभी प्लेटफ़ॉर्म में SHA-256 कार्यान्वयन होना चाहिए, हालांकि उनमें से सभी मूल नहीं हैं। PHP में आपको mhash एक्सटेंशन का उपयोग करना होगा। इसके बदले में कुछ प्लेटफ़ॉर्म सुरक्षित हैश फ़ंक्शंस प्रदान नहीं करते हैं, मैं ईमानदारी से इसका मानना चाहता हूं क्योंकि उन्हें सिक्योरिटी की परवाह नहीं है। PHP के मामले में मुझे एक तथ्य के लिए पता है कि they don't care about secuirty।
वर्तमान में SHA-2 के साथ कुछ भी गलत नहीं है और इसमें सुरक्षा का बहुत बड़ा मार्जिन है। यदि आप वास्तव में परावर्तक हैं तो आप SHA-512 का उपयोग कर सकते हैं। शा -3 2012 में बाहर हो जाएगा, आपको अपने PASSWORDS जैसे शाआ -2 के साथ जो कुछ भी कर सकता है उसे पैच करना चाहिए, और उसके बाद SHA-3 पर जाएं जब आप कर सकते हैं लेकिन SHA-512 बहुत लंबे समय तक अच्छा होगा।
-1 पुरानी फड फैलाने के लिए –
@edgar जब तक PHP में सुरक्षित हैश फ़ंक्शन की तरह मूल सेक्यूरिटी फीचर्स की कमी होती है, तो यह अभी भी बहुत प्रासंगिक है। मैं जो सोचता हूं उसके आधार पर तथ्यों को नहीं बदल सकता। – rook