SHA-1 जनरेटर

हमारे SHA-1 जनरेटर टूल के साथ किसी भी स्ट्रिंग इनपुट से SHA-1 हैश उत्पन्न करें सुरक्षित डेटा हैशिंग के लिए।

2 रेटिंग्स में से 5
SHA-1 जनरेटर

SHA-1 जनरेटर एक मुफ़्त टूल है, जो किसी स्ट्रिंग को उसके 160-बिट SHA-1 हैश में बदलता है और नतीजे को 40 हेक्साडेसिमल वर्णों में दिखाता है।

SHA-1 क्या करता है?

SHA-1 किसी भी लंबाई के इनपुट से तय लंबाई का फिंगरप्रिंट बनाता है। SHA-1 हैशिंग एकतरफ़ा प्रक्रिया है, इसलिए डाइजेस्ट में मूल टेक्स्ट की पढ़ी जा सकने वाली कॉपी नहीं होती। इनपुट में छोटा सा बदलाव भी एक अलग 160-बिट नतीजा देता है।

SHA-1 को अमेरिका की National Security Agency ने डिज़ाइन किया था और National Institute of Standards and Technology ने 1995 में प्रकाशित किया था। इसके नाम का पूरा रूप Secure Hash Algorithm 1 है। नाम भले ही अब भी यही है, लेकिन SHA-1 को अब कोलिजन हमलों के विरुद्ध सुरक्षित नहीं माना जाता।

SHA-1 कोलिजन तब होता है, जब दो अलग इनपुट का डाइजेस्ट एक जैसा हो। शोधकर्ता व्यावहारिक SHA-1 कोलिजन प्रदर्शित कर चुके हैं, इसलिए डिजिटल हस्ताक्षर, सर्टिफ़िकेट और ऐसी दूसरी स्थितियों में इस एल्गोरिदम का इस्तेमाल बंद किया जा चुका है, जहां हमलावर जानबूझकर सामग्री बदल सकता है।

आरेख: इनपुट टेक्स्ट SHA-1 फ़ंक्शन से गुज़रकर एक तय लंबाई का डाइजेस्ट बनाता है, जिसे वापस नहीं बदला जा सकता

SHA-1 हैश कैसे बनाएं?

जिस स्ट्रिंग का हैश बनाना है, उसे बिल्कुल उसी रूप में दर्ज करें और SHA-1 हैश नतीजे वाले फ़ील्ड में 40-वर्ण का हेक्साडेसिमल मान देखें। यह प्रक्रिया सर्वर पर होती है। आपका इनपुट HTTPS के ज़रिए सर्वर तक जाता है और उसे संग्रहीत नहीं किया जाता।

ये मानक उदाहरण अपेक्षित फ़ॉर्मेट और नतीजे पर इनपुट के प्रभाव को दिखाते हैं:

  • इनपुट abc से a9993e364706816aba3e25717850c26c9cd0d89d मिलता है।
  • खाली बाइट स्ट्रिंग से da39a3ee5e6b4b0d3255bfef95601890afd80709 मिलता है।
  • इनपुट abc में आखिर में एक स्पेस है, इसलिए इसका हैश abc से अलग होगा।

SHA-1 इंसानों के पढ़ने योग्य वर्णों के बजाय बाइट को प्रोसेस करता है। स्पेस, विराम चिह्न, बड़े अक्षर और लाइन एंडिंग, सभी की गणना होती है। यह SHA-1 जनरेटर टेक्स्ट फ़ील्ड में दर्ज संख्याओं को वर्णों की तरह हैश करता है। इसलिए 123 का मतलब तीन वर्ण 1, 2 और 3 हैं।

SHA-1 के लिए उच्चारण चिह्न वाले और गैर-लैटिन वर्णों को पहले बाइट में एनकोड करना पड़ता है। अगर दो सिस्टम अलग कैरेक्टर एनकोडिंग या Unicode नॉर्मलाइज़ेशन इस्तेमाल करते हैं, तो एक जैसे दिखने वाले टेक्स्ट के हैश अलग हो सकते हैं। इस जनरेटर के SHA-1 नतीजे का किसी दूसरे सिस्टम से मिलान करते समय पक्का करें कि दोनों ओर एक ही एनकोडिंग, आम तौर पर UTF-8, और लाइन एंडिंग का एक ही तरीका इस्तेमाल हो रहा है।

digily.link पर SHA-1 जनरेटर टूल और उसका इनपुट फ़ॉर्म

क्या SHA-1 को डिक्रिप्ट करके मूल इनपुट निकाला जा सकता है?

नहीं, SHA-1 हैश को डिक्रिप्ट नहीं किया जा सकता, क्योंकि हैशिंग एन्क्रिप्शन नहीं है और इसमें कोई डिक्रिप्शन कुंजी नहीं होती। सामान्य तौर पर किसी डाइजेस्ट से मनमाना मूल इनपुट वापस निकालना कम्प्यूटेशन की दृष्टि से अब भी अव्यावहारिक है।

लेकिन अनुमान लगाए जा सकने वाले इनपुट का मामला अलग है। हमलावर डिक्शनरी या बनाई गई सूची में मौजूद संभावित मानों के SHA-1 हैश तब तक निकाल सकता है, जब तक कोई हैश मेल न खा जाए। इसीलिए पासवर्ड संग्रहीत करने के लिए SHA-1 का इस्तेमाल नहीं करना चाहिए, भले ही डाइजेस्ट को सीधे उलटकर मूल मान न निकाला जा सके।

कोलिजन हमला भी किसी हैश को डिक्रिप्ट नहीं करता। इसमें समान डाइजेस्ट वाले दो अलग इनपुट खोजे जाते हैं, जो हमलावर वाली परिस्थितियों में हस्ताक्षर और अखंडता जांच को कमज़ोर करने के लिए पर्याप्त है।

SHA-1 जनरेटर टूल से बना नतीजे का उदाहरण

SHA-1 का इस्तेमाल अब भी कहां होता है?

SHA-1 अब भी ऐसी चेकसम और डुप्लिकेट पहचान में दिखता है, जहां दुर्भावनापूर्ण हमले का जोखिम नहीं होता, साथ ही उन सिस्टम में भी जो किसी पुराने फ़ॉर्मेट के साथ संगतता मांगते हैं। इसका 40-वर्ण वाला हेक्साडेसिमल रूप पुराने सोर्स-कंट्रोल पहचानकर्ताओं और संग्रहित सॉफ़्टवेयर रिकॉर्ड में भी मिलता है।

  • चेकसम: अगर अपेक्षित डाइजेस्ट किसी भरोसेमंद स्रोत से मिला है, तो SHA-1 अनजाने में हुए बदलावों का पता लगा सकता है। यदि हमलावर फ़ाइल और उसके प्रकाशित हैश, दोनों को बदल सकता है, तो यह अखंडता साबित नहीं कर सकता।
  • डुप्लिकेट हटाना: यह ऐसे रिकॉर्ड या फ़ाइलों की पहचान करने में मदद कर सकता है जो एक जैसे दिखाई देते हैं, बशर्ते जानबूझकर कोलिजन बनाना खतरे के दायरे में न हो। SHA-1 इस्तेमाल करने वाले जिन सिस्टम में किसी भी कोलिजन को स्वीकार नहीं किया जा सकता, उन्हें मूल डेटा की भी तुलना करनी चाहिए।
  • पुराने सिस्टम से संगतता: कुछ डेटाबेस, API और फ़ाइल फ़ॉर्मेट में पहले से मौजूद SHA-1 मान की ज़रूरत होती है। उस आवश्यकता को पूरा करना उचित है, लेकिन नए डिज़ाइन में मौजूदा एल्गोरिदम इस्तेमाल करना चाहिए।

पासवर्ड, डिजिटल हस्ताक्षर, सर्टिफ़िकेट बनाने या उन पर हस्ताक्षर करने, सुरक्षा टोकन बनाने या प्रमाणीकरण, और छेड़छाड़-रोधी दस्तावेज़ रिकॉर्ड के लिए साधारण SHA-1 का इस्तेमाल न करें।

SHA-1 की सुरक्षा स्थिति और उसके विकल्प

कोलिजन प्रतिरोध के लिहाज़ से SHA-1 क्रिप्टोग्राफ़िक रूप से टूट चुका है और सुरक्षा-संवेदनशील नए कामों के लिए इसका इस्तेमाल बंद किया जा चुका है। इसका 160-बिट डाइजेस्ट आम SHA-2 और SHA-3 प्रकारों के डाइजेस्ट से छोटा है, लेकिन केवल डाइजेस्ट की लंबाई इसे छोड़ने की वजह नहीं है। निर्णायक कारण वे कोलिजन हमले हैं जिन्हें व्यावहारिक रूप से प्रदर्शित किया जा चुका है।

यदि कोई विनिर्देश कुछ और न मांगे, तो ऐसी चेकसम के लिए SHA-256 या SHA-512 इस्तेमाल करें जिनके अपेक्षित मान भरोसेमंद स्रोत से मिलते हैं। प्रमाणित अखंडता के लिए उपयुक्त MAC या डिजिटल-हस्ताक्षर योजना ज़रूरी है। SHA-3 एक और मौजूदा परिवार है। अगर खास तौर पर 224-बिट SHA-2 डाइजेस्ट चाहिए, तो SHA-224 जनरेटर वह फ़ॉर्मेट बनाता है। पासवर्ड के लिए SHA-1 के बजाय Argon2id, scrypt या bcrypt जैसे खास पासवर्ड-हैशिंग फ़ंक्शन की ज़रूरत होती है।

SHA-1 के बारे में अक्सर पूछे जाने वाले सवाल

क्या SHA-1 के बड़े और छोटे हेक्साडेसिमल अक्षर अलग माने जाते हैं?

नहीं, बड़े और छोटे हेक्साडेसिमल अक्षर समान 160-बिट मान दिखा सकते हैं। हालांकि, बड़े और छोटे अक्षरों में फर्क करने वाली टेक्स्ट तुलना में कोई सिस्टम दोनों स्ट्रिंग को अलग मान सकता है। इसलिए वही फ़ॉर्मेट बनाए रखें जिसकी वह सिस्टम अपेक्षा करता है।

क्या इस टूल से किसी फ़ाइल का SHA-1 निकाल सकता हूं?

यह टूल स्ट्रिंग इनपुट को हैश करता है और इसमें फ़ाइल अपलोड की सुविधा नहीं है। फ़ाइल की चेकसम निकालने के लिए Linux पर sha1sum जैसी स्थानीय यूटिलिटी या कोई ऐसा समान कमांड इस्तेमाल करें, जो फ़ाइल के बाइट सीधे पढ़ता हो। बाइनरी फ़ाइल की सामग्री को इस SHA-1 जनरेटर के टेक्स्ट फ़ील्ड में पेस्ट न करें, क्योंकि एनकोडिंग या लाइन एंडिंग में बदलाव से नतीजा बदल सकता है।

क्या HMAC-SHA-1 भी टूट चुका है?

प्रकाशित SHA-1 कोलिजन हमले HMAC-SHA-1 को सीधे उसी तरह नहीं तोड़ते, क्योंकि HMAC एक गुप्त कुंजी और अलग संरचना का इस्तेमाल करता है। फिर भी, पुराने घटकों पर निर्भरता और नीतिगत प्रतिबंधों से बचने के लिए नए प्रोटोकॉल आम तौर पर HMAC-SHA-256 या कोई दूसरा मौजूदा विकल्प चुनते हैं।

क्या salt जोड़ने से SHA-1 पासवर्ड के लिए सुरक्षित हो जाता है?

नहीं। salt एक जैसे पासवर्ड को समान संग्रहीत SHA-1 डाइजेस्ट साझा करने से रोकता है और पहले से तैयार की गई तालिकाओं का इस्तेमाल कठिन बनाता है, लेकिन पासवर्ड संग्रहीत करने के लिए SHA-1 अब भी बहुत तेज़ है। ऐसा पासवर्ड-हैशिंग फ़ंक्शन इस्तेमाल करें जिसमें कॉन्फ़िगर किया जा सकने वाला वर्क फ़ैक्टर और हर पासवर्ड के लिए अलग रैंडम salt हो।

अंतिम जांच

इस जनरेटर के SHA-1 नतीजे की किसी दूसरे हैश से तुलना करने से पहले छिपे हुए स्पेस, आखिर में मौजूद नई लाइन, कैरेक्टर एनकोडिंग के अंतर और इनपुट में बदले हुए बड़े या छोटे अक्षरों की जांच करें। SHA-1 का इस्तेमाल केवल तभी करें, जब किसी मौजूदा सिस्टम में इसकी ज़रूरत हो या कोलिजन प्रतिरोध सुरक्षा आवश्यकता का हिस्सा न हो। नए डिज़ाइन में भरोसेमंद चेकसम के लिए मौजूदा कोलिजन-रोधी हैश, संदेश प्रमाणीकरण के लिए कुंजी वाला MAC या उपयुक्त डिजिटल-हस्ताक्षर योजना चुनें।

साझा करें

लोकप्रिय उपकरण