क्रिप्टोग्राफ़िक हैश क्या है?
क्रिप्टोग्राफ़िक हैश किसी भी इनपुट को निश्चित आकार के डाइजेस्ट (SHA-256 के लिए 32 बाइट) में बदलता है, जिसमें एक ही इनपुट हमेशा वही डाइजेस्ट देता है, एक अक्षर का बदलाव पूरी तरह अलग डाइजेस्ट देता है, और आउटपुट से इनपुट वापस नहीं निकाला जा सकता। हैश फ़ाइल की अखंडता जाँचते हैं, कंटेंट का फ़िंगरप्रिंट बनाते हैं और सिग्नेचर व HMAC का आधार हैं। SHA-256 और SHA-2 परिवार वर्तमान हैं; MD5 और SHA-1 जानबूझकर बनाए गए कोलिज़न के विरुद्ध टूट चुके हैं और केवल चेकसम के रूप में इस्तेमाल होने चाहिए।
सुरक्षा नोट: सादा हैश पासवर्ड स्टोर नहीं है। पासवर्ड को धीमी, सॉल्टेड एल्गोरिद्म चाहिए — Argon2id, scrypt या bcrypt — क्योंकि SHA-256 और MD5 को प्रति सेकंड अरबों बार आज़माया जा सकता है।
SHA-1 जनरेटर कैसे इस्तेमाल करें
- टेक्स्ट पेस्ट करें।
- आउटपुट फ़ॉर्मेट चुनें।
- अगर आपके पास अपेक्षित वैल्यू है तो उससे तुलना करें।
- 40 कैरेक्टर वाला डाइजेस्ट कॉपी करें।
SHA-1 जनरेटर की खूबियाँ
- ब्राउज़र के नेटिव crypto.subtle.digest से SHA-1
- Hex, Base64, Base64url और बाइनरी आउटपुट
- अपेक्षित हैश से तुलना और स्पेस ट्रिम करने का विकल्प
- लाइव नतीजे, कॉपी और डाउनलोड बटन
SHA-1 जनरेटर का उदाहरण
"abc" का SHA-1
इनपुट:
abcआउटपुट:
a9993e364706816aba3e25717850c26c9cd0d89dSHA-1 जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
क्या मुझे अब भी SHA-1 इस्तेमाल करना चाहिए?
सिर्फ़ तब, जब कोई पुराना प्रोटोकॉल इसकी माँग करे। 2017 में व्यावहारिक कोलिज़न (SHAttered) दिखाए जा चुके हैं, इसलिए सर्टिफ़िकेट, सिग्नेचर और नए डिज़ाइन में SHA-256 या उससे बेहतर इस्तेमाल करें।
Git, SHA-1 क्यों इस्तेमाल करता है?
Git की ऑब्जेक्ट id 2005 में कंटेंट एड्रेस के रूप में डिज़ाइन की गई थीं, सुरक्षा सीमा के रूप में नहीं, और अब Git एक कठोर (hardened) वैरिएंट इस्तेमाल करता है जो ज्ञात कोलिज़न हमलों को पकड़ लेता है। नए Git वर्ज़न SHA-256 रिपॉज़िटरी भी बना सकते हैं।
डाइजेस्ट का साइज़ कितना है?
160 बिट, जो 40 हेक्साडेसिमल कैरेक्टर या 28 Base64 कैरेक्टर के रूप में दिखता है।
क्या मेरा इनपुट किसी सर्वर पर भेजा जाता है?
नहीं। हैश आपके ब्राउज़र में crypto.subtle.digest से निकाला जाता है।
तकनीकी नोट्स
SHA-1, 160 बिट का आउटपुट देता है। कोलिज़न हमलों (SHAttered, 2017) के कारण यह सिग्नेचर और सर्टिफ़िकेट के लिए अनुपयुक्त है, पर Git की ऑब्जेक्ट id, पुराने API में HMAC-SHA1 और ग़ैर-सुरक्षा चेकसम में अब भी इस्तेमाल होता है।
संदर्भ
- FIPS 180-4: Secure Hash Standard (SHS)अमेरिकी संघीय मानक जो SHA-1 और SHA-2 परिवार के हैश फ़ंक्शन निर्दिष्ट करता है।
- RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)SHA-1, SHA-224/256/384/512 और HMAC में उनके उपयोग के संदर्भ विवरण और कोड।
- RFC 1321: The MD5 Message-Digest AlgorithmMD5 की मूल परिभाषा। MD5 अब सिग्नेचर और पासवर्ड के लिए टूटा हुआ माना जाता है; यह केवल चेकसम के रूप में उपयोगी है।