क्या एमडी 5 हैश को डिक्रिप्ट करना संभव है?


260

किसी ने मुझे बताया कि उसने सॉफ्टवेयर सिस्टम देखे हैं:

  1. अन्य प्रणालियों से MD5 एन्क्रिप्टेड पासवर्ड पुनः प्राप्त करें;
  2. एन्क्रिप्ट किए गए पासवर्ड को डिक्रिप्ट करें और
  3. सिस्टम के डेटाबेस में पासवर्डों को स्टोर करते हैं जो सिस्टम के खुद के एल्गोरिदम का उपयोग करते हैं।

क्या यह संभव है? मैंने सोचा था कि एमडी 5 हैश को डिक्रिप्ट करना संभव नहीं था।

मुझे पता है कि एमडी 5 शब्दकोश हैं, लेकिन क्या वास्तविक डिक्रिप्शन एल्गोरिथ्म है?


7
MD5 को वापस लाने से कई पासवर्ड भी आएंगे।
कारल्स कंपनी

231
एमडी 5 एक डाइजेस्ट एल्गोरिदम है। इसे एक गाय को स्टेक में बदलने के बारे में सोचें। अब इसे उलटने की कोशिश करें।
यांत्रिक घोंघा

5
@ जो मैं समझता हूं, उससे हां, लेकिन केवल अगर आपके पास उनमें से बहुत कुछ था। और यहां तक ​​कि अगर आपने किया, तो आप रिवर्स में नहीं जा पाएंगे, क्योंकि एल्गोरिथ्म उद्देश्यपूर्ण रूप से जानकारी खो देता है।
जॉर्डन

8
@ मेकैनिकलसेल ने उस सादृश्य को देखते हुए, स्टेक पर डीएनए से पूर्ण परिपूर्ण क्लोन बना सकता है। :))
त्रिकिखा वैलेन्टियस

8
@TrimikhaValentius MD5 एक पाचन एल्गोरिथ्म है। इसे स्टेक> पाचन> आउटपुट के रूप में खाएं। अब इसे उलटने की कोशिश करें।
user4157124

जवाबों:


424

नहीं। MD5 एन्क्रिप्शन नहीं है (हालांकि इसे कुछ एन्क्रिप्शन एल्गोरिदम के हिस्से के रूप में इस्तेमाल किया जा सकता है), यह एक तरह से हैश फ़ंक्शन है । मूल डेटा का अधिकांश परिवर्तन के भाग के रूप में वास्तव में "खो गया" है।

इस बारे में सोचें: एक एमडी 5 हमेशा 128 बिट लंबा होता है। इसका मतलब है कि 2 128 संभव एमडी 5 हैश हैं। यह एक यथोचित बड़ी संख्या है, और फिर भी यह निश्चित रूप से परिमित है। और फिर भी, एक दिए गए हैश फ़ंक्शन के लिए संभावित इनपुट की अनंत संख्या है (और उनमें से ज्यादातर में 128 बिट्स से अधिक है, या एक औसतन 16 बाइट्स हैं)। तो वास्तव में डेटा के लिए अनंत संभावनाएं हैं जो एक ही मूल्य के लिए हैश होगा। हैश को दिलचस्प बनाने वाली बात यह है कि डेटा के दो टुकड़ों को ढूंढना अविश्वसनीय रूप से मुश्किल है, जो एक ही मूल्य के लिए हैश है, और दुर्घटना से होने की संभावना लगभग 0 है।

एक (बहुत असुरक्षित) हैश फ़ंक्शन के लिए एक सरल उदाहरण (और यह एक तरह से होने के सामान्य विचार को दिखाता है) यह डेटा के टुकड़े के सभी बिट्स को लेना होगा, और इसे बड़ी संख्या के रूप में माना जाएगा। इसके बाद, कुछ बड़े (शायद अभाज्य) संख्या n का उपयोग करके पूर्णांक विभाजन करें और शेष भाग लें (देखें: मापांक )। आपको 0 और n के बीच कुछ संख्या के साथ छोड़ दिया जाएगा । यदि आप उसी गणना को फिर से (किसी भी समय, किसी भी कंप्यूटर पर, कहीं भी) करते हैं, तो उसी समान स्ट्रिंग का उपयोग करके, यह उसी मान के साथ आएगा। और फिर भी, यह पता लगाने का कोई तरीका नहीं है कि मूल मूल्य क्या था, क्योंकि अनंत संख्या में संख्याएं हैं जो सटीक शेष हैं, जब एन द्वारा विभाजित किया गया है ।

उस ने कहा, एमडी 5 में कुछ कमजोरियां पाई गई हैं, जैसे कि कुछ जटिल गणित के साथ, 2 128 संभावित इनपुट स्ट्रिंग्स को आज़माए बिना टकराव का पता लगाना संभव हो सकता है । और यह तथ्य कि अधिकांश पासवर्ड कम हैं, और लोग अक्सर सामान्य मान (जैसे "पासवर्ड" या "गुप्त") का उपयोग करते हैं, इसका मतलब है कि कुछ मामलों में, आप हैश के लिए Googling या इंद्रधनुष का उपयोग करके किसी के पासवर्ड पर एक अच्छा अनुमान लगा सकते हैं तालिका । यही कारण है कि आपको हमेशा " नमक " हैशेड पासवर्ड चाहिए, ताकि दो समान मूल्य, जब हैशेड, समान मूल्य के लिए हैश न हो।

एक बार हैश फ़ंक्शन के माध्यम से डेटा का एक टुकड़ा चलाए जाने के बाद, कोई वापस नहीं जा रहा है।


22
हालाँकि, MD5 हैश स्पेस में मूल रूप से सोचा गया की तुलना में अधिक टकराव हैं। यह अब पासवर्ड के लिए सर्वश्रेष्ठ हैश के रूप में इष्टतम नहीं माना जाता है।
चेसो

12
चूंकि अधिकांश पासवर्ड MD5 हैश से छोटे होते हैं, इसलिए आमतौर पर प्रत्येक हैश के लिए केवल एक पासवर्ड होता है। (और एक को खोजना, भले ही यह मूल एक न हो, खाते तक पहुंचने के लिए पर्याप्त है।) एक-तरफ़ा कार्य होने का मतलब यह नहीं है कि कई अलग-अलग उपसर्ग हैं, इसलिए हम यह नहीं जान सकते हैं कि कौन सा मूल एक था , लेकिन यह वास्तव में एक मूल मूल्य खोजने के लिए मुश्किल है
पाओलो एबरमन

2
@ निक: वास्तव में, RFC1321 स्पष्ट रूप से कहता है: "एल्गोरिथ्म इनपुट के रूप में मनमानी लंबाई का एक संदेश लेता है"
एडम बैटकिन

6
@ ओलाथे - मुझे यकीन नहीं है कि मैं सहमत हूं। एक हैश को देखते हुए, मूल इनपुट को निर्धारित करना (100% निश्चितता के साथ) आमतौर पर असंभव है। वहाँ (आमतौर पर) एक अनंत संख्या में इनपुट होते हैं जो हर संभव (हैशेड) आउटपुट का उत्पादन करते हैं। मैंने आम तौर पर कहा , क्योंकि, यदि आप जानते हैं (उदाहरण के लिए) कि आप ASCII वर्णों की एक स्ट्रिंग की तलाश कर रहे हैं, और यह 12 बाइट्स की तुलना में कम है, तो यह संभव है कि केवल एक इनपुट है जो किसी दिए गए आउटपुट का उत्पादन करता है। लेकिन हमेशा टकराव (अनंत) होने वाले हैं, और जब तक आपके पास कुछ बाहरी बाधाएं नहीं हैं (जैसे मेरे उदाहरण में) आपको कभी पता नहीं चलेगा कि कौन सही है
एडम बाटकिन

2
@ अदम बैटन, आप सही कह रहे हैं, लेकिन मेरा मतलब 100% निश्चितता नहीं है। सिफर ब्रेकिंग को 100% निश्चितता के साथ नहीं किया जा सकता है। प्रेषक का मतलब हो सकता है एक ही कुंजी का उपयोग करते हुए अंग्रेजी प्लेनटेक्स्ट के बजाय यादृच्छिक अस्पष्ट हो जो अन्य अंग्रेजी प्लेनेटेक्स को कम कर देता है, लेकिन अंग्रेजी की संभावना 100% के करीब है। इसी तरह, जब एक लंबे यूटीएफ -8 जापानी कविता पासवर्ड और गिब्रिश स्ट्रिंग्स के बीच चयन किया जाता है, तो कविता की संभावना 100% के पास होती है। यह प्रीचेंस्ड बाधाओं की बजाय तथ्य के बाद की संभावनाओं का उपयोग करके किया जा सकता है। यह स्पष्ट रूप से सामान्य रूप से नहीं किया जा सकता है, लेकिन यह अभी भी काफी उपयोगी है।
Olathe

154

आप सिद्धांत रूप में नहीं कर सकते। एक हैश की पूरी बात यह है कि यह केवल एक ही रास्ता है। इसका मतलब है कि यदि कोई हैश की सूची प्राप्त करने का प्रबंधन करता है, तो वे अभी भी आपका पासवर्ड प्राप्त नहीं कर सकते हैं। इसके अतिरिक्त इसका मतलब यह है कि भले ही कोई व्यक्ति कई साइटों पर एक ही पासवर्ड का उपयोग करता है (हाँ, हम सभी जानते हैं कि हमें नहीं करना चाहिए, लेकिन ...) साइट ए के डेटाबेस तक पहुंच वाले कोई भी उपयोगकर्ता के पासवर्ड का उपयोग करने में सक्षम नहीं होगा साइट बी।

तथ्य यह है कि MD5 एक हैश है इसका मतलब यह भी जानकारी खो देता है। किसी भी MD5 हैश के लिए, यदि आप मनमाने ढंग से लंबाई के पासवर्ड की अनुमति देते हैं तो कई पासवर्ड हो सकते हैं जो समान हैश का उत्पादन करते हैं। एक अच्छा हैश के लिए यह computationally एक बहुत तुच्छ अधिकतम लंबाई से परे उन्हें खोजने के लिए अव्यवहार्य हो सकता है, लेकिन यह कोई नहीं है इसका मतलब है गारंटी है कि अगर आप एक पासवर्ड जो लक्ष्य हैश है मिल जाए, यह निश्चित रूप से मूल पासवर्ड है। यह खगोलीय रूप से संभावना नहीं है कि आपको दो ASCII-only, उचित-लंबाई वाले पासवर्ड दिखाई देंगे जिनमें समान MD5 हैश हो, लेकिन यह असंभव नहीं है।

पासवर्ड के लिए MD5 एक खराब हैश है:

  • यह तेज़ है, जिसका अर्थ है कि यदि आपके पास "लक्ष्य" हैश है, तो बहुत सारे पासवर्ड आज़माना सस्ता है और देखें कि क्या आप उस लक्ष्य के पास हैश पा सकते हैं। नमकीन के साथ मदद नहीं करता है कि परिदृश्य है, लेकिन यह इसे और अधिक महंगा में से किसी एक से मेल खाते से पासवर्ड को खोजने के लिए प्रयास करने के लिए बनाने के लिए मदद करता है कई अलग अलग लवण का उपयोग कर हैश।
  • मेरा मानना ​​है कि इसमें ज्ञात खामियां हैं, जो टकरावों को ढूंढना आसान बनाती हैं, हालांकि प्रिंट करने योग्य पाठ (बल्कि मनमाने ढंग से बाइनरी डेटा) के भीतर टकरावों को ढूंढना कम से कम कठिन होगा।

मैं सुरक्षा विशेषज्ञ नहीं हूं, इसलिए "अपने स्वयं के प्रमाणीकरण प्रणाली को रोल न करें" से परे एक ठोस सिफारिश नहीं करेंगे। एक सम्मानित आपूर्तिकर्ता से एक का पता लगाएं, और उस का उपयोग करें। सुरक्षा प्रणालियों के डिजाइन और कार्यान्वयन दोनों एक मुश्किल व्यवसाय है।


2
हां, अन्य विधियां हैं, लेकिन आपको यह समझने की जरूरत है कि जॉन ने क्या कहा था - 'आपको उन्हें अपना पासवर्ड ईमेल नहीं करना चाहिए - यह संवेदनशील जानकारी संवेदनशील हो सकती है।' - सबसे निचले स्तर पर, ईमेल को इंटरसेप्ट किया जा सकता है और संवेदनशील जानकारी को पुनः प्राप्त किया जा सकता है। एक पासवर्ड को यथासंभव सुरक्षित रहना चाहिए - आमतौर पर इसे केवल एक डेटाबेस में हैश के रूप में रखकर।
मई को डैनियल

3
और यह भी तथ्य है कि यदि पासवर्ड उलटा हो सकता है, तो इसका मतलब है कि आपके डेटाबेस तक पहुंचने वाला कोई भी उपयोगकर्ता के पासवर्ड प्राप्त कर सकता है। एक अच्छा विचार नहीं है। एक तरह से पासवर्ड आदर्श होना चाहिए; केवल वास्तविक पासवर्ड (यहां तक ​​कि एन्क्रिप्टेड) ​​रखें, अगर आपको पूरी तरह से करना है (उदाहरण के लिए किसी अन्य सिस्टम के साथ प्रमाणित करने के लिए जो कुछ भी टोकन-आधारित नहीं है)।
जॉन स्कीट

1
मैंने एंटीस्पैम-उपाय देखे हैं जहां रिसीवर वेबसर्वर एक आने वाले मेल को सिर्फ भेजने के लिए भेजने वाले के मेल करने वाले के लिए इंतजार करने से इनकार करते हैं (स्पैम्बोट आमतौर पर केवल एक बार कोशिश करते हैं)। यह आसानी से आपके 10 मिनट के समय से अधिक हो सकता है।
13

1
@ravisoni: वह मान पा रहा है जिसमें समान हैश है, संभवतः ब्यूट बल या लुकअप टेबल के माध्यम से। इसकी कोई गारंटी नहीं है कि यह मूल सादा मूल्य है।
जॉन स्कीट

5
@ravisoni: यहाँ "सही" से आपका क्या मतलब है? यदि पासवर्ड अज्ञात है, तो आप यह नहीं जान सकते हैं कि जो पता चला है वह मूल एक है या नहीं। लेकिन मुद्दा यह है कि परिभाषा के अनुसार एमडी 5 की तरह एक तरीका हैश की जानकारी खो देता है। तथ्य यह है कि इस तरह की साइटें एक मिलान पासवर्ड के साथ आ सकती हैं , एमडी 5 का अच्छा सबूत सुरक्षा कारणों से उपयोग करने के लिए एक खराब एल्गोरिदम है।
जॉन स्कीट

52

तकनीकी रूप से, यह 'संभव' है , लेकिन बहुत ही कठोर परिस्थितियों में ( इंद्रधनुष सारणी , बहुत कम संभावना के आधार पर जानवर मजबूर करना कि उपयोगकर्ता का पासवर्ड उस हैश डेटाबेस में है)।

लेकिन इसका मतलब यह नहीं है

  • व्यवहार्य
    या
  • सुरक्षित

आप MD5 हैश को 'रिवर्स' नहीं करना चाहते हैं । नीचे उल्लिखित विधियों का उपयोग करते हुए, आपको कभी भी आवश्यकता नहीं होगी। 'Reversing' MD5 को वास्तव में दुर्भावनापूर्ण माना जाता है - कुछ वेबसाइट्स 'दरार' और bruteforce MD5 हैश की क्षमता प्रदान करती हैं - लेकिन वे सभी बड़े पैमाने पर डेटाबेस होते हैं जिनमें शब्द शब्द, पहले प्रस्तुत पासवर्ड और अन्य शब्द शामिल हैं। एक बहुत कम संभावना है कि इसमें एमडी 5 हैश होगा जो आपको उलटा चाहिए। और अगर आप किया है नमकीन MD5 हैश - यह या तो काम नहीं करेगा! :)


एमडी 5 हैशिंग के साथ लॉगिन करने का तरीका काम करना चाहिए :

पंजीकरण के दौरान:
उपयोगकर्ता पासवर्ड बनाता है -> एमडी 5 का उपयोग करके पासवर्ड हैश किया गया है -> हैश डेटाबेस में संग्रहीत

लॉगिन के दौरान:
उपयोगकर्ता उपयोगकर्ता नाम और पासवर्ड दर्ज करता है -> (उपयोगकर्ता नाम की जाँच की गई) पासवर्ड एमडी 5 का उपयोग करके हैश किया जाता है -> हैश की तुलना डेटाबेस में संग्रहीत हैश से की जाती है

जब When लॉस्ट पासवर्ड ’आवश्यक हो:

2 विकल्प:

  • उपयोगकर्ता ने लॉगिन करने के लिए एक यादृच्छिक पासवर्ड भेजा, फिर उसे पहले लॉगिन पर बदलने के लिए बाध्य किया गया है।

या

  • उपयोगकर्ता को अपना पासवर्ड बदलने के लिए एक लिंक भेजा जाता है (अतिरिक्त जाँच के साथ यदि आपके पास कोई सुरक्षा प्रश्न / आदि है) और फिर नया पासवर्ड हैश किया गया और डेटाबेस में पुराने पासवर्ड से बदल दिया गया

1
मुझे कुछ नाइटपिक्स मिले हैं। रेनबो टेबल ब्रूट फोर्सिंग नहीं हैं। वास्तव में ऐसे कार्यक्रम और साइटें हैं जो कुछ पात्रों के क्रूर बल (बहुत सरल) पासवर्ड करते हैं (आम तौर पर वे केवल कुछ घंटों या दिनों में लूप करते हैं, और आप एक हैश में भर सकते हैं और आशा करते हैं कि यह लूप में आता है)। और दुर्भाग्य से, कई पासवर्डों की गुणवत्ता की कमी को देखते हुए, मौका है कि एक पॉप अप "बहुत छोटा मौका" नहीं है।
मार्टन बॉड्यूज

32

प्रत्यक्ष नहीं। की वजह से डब्बों में सिद्धांत , (संभावना) से अधिक मूल्य है कि वहाँ है किसी भी MD5 उत्पादन के लिए हैश। जैसे, आप इसे निश्चितता के साथ उल्टा नहीं कर सकते। इसके अलावा, MD5 को किसी भी ऐसे उलटे हैश का पता लगाना मुश्किल बना दिया जाता है (हालाँकि ऐसे हमले हुए हैं जो टकराव पैदा करते हैं - यानी, दो मान जो एक ही परिणाम के लिए हैश उत्पन्न करते हैं, लेकिन आप परिणामी MD5 मान को नियंत्रित नहीं कर सकते हैं हो)।

हालाँकि, यदि आप खोज स्थान को प्रतिबंधित करते हैं, उदाहरण के लिए, N के अंतर्गत लंबाई वाले सामान्य पासवर्ड, तो अब आपके पास अपरिवर्तनीयता संपत्ति नहीं हो सकती है (क्योंकि MD5 आउटपुट की संख्या रुचि के क्षेत्र में तार की संख्या से बहुत अधिक है)। फिर आप एक इंद्रधनुष तालिका या रिवर्स हैश के समान उपयोग कर सकते हैं ।


1
मुझे लगता है कि एक ही उत्पादन के लिए हैश कि एक और मूल्य खोजने एक "टकराव" कहा जाता है। एमडी 5-हैशेड सिस्टम को तोड़ने का यह सबसे आम तरीका है।
निकोल

5
@ पुनर्जागरण, पहले से ज्ञात मूल्य के लिए हैश करने वाले डेटा को वास्तव में "प्रीइमेज" कहा जाता है, और यह केवल टकराव की तुलना में बहुत कठिन है। एमडी 5 के खिलाफ अभी तक किसी भी प्रकार के प्राइमेज हमले का प्रदर्शन नहीं किया गया है, लेकिन टकराव के हमलों का उपयोग किया गया है।
22

हैश फ़ंक्शंस (जब पासवर्ड भंडारण के लिए उपयोग किया जाता है) की बात यह नहीं है कि बहुत सारे संभावित पासवर्ड हैं जो एक ही हैश देते हैं (वहाँ हैं, लेकिन उनमें से अधिकांश हैश से अधिक लंबे हैं), लेकिन यह भी खोजना मुश्किल है उनमें से एक (जो सिस्टम तक पहुंचने के लिए पर्याप्त होगा)। और हाँ, इंद्रधनुष की तालिकाओं के कारण आप अनसाल्टेड हैश का उपयोग नहीं करते हैं। और छोटे पासवर्ड स्थान के कारण, आप एक तेज़ (बजाय MD5 / SHA - * / .... की तरह) एक धीमी हैश (जैसे bcrypt या scrypt) का प्रयोग करेंगे
Palolo Ebermann

1
तकनीकी होने के लिए, आप एमडी 5 को निश्चितता के साथ नहीं कर सकते, क्योंकि हार्डवेयर में खराबी हो सकती है। उसी तरह, आप यह निश्चित नहीं कर सकते हैं कि पासवर्ड passwordसभी अन्य अनंत इनपुटों के बजाय था जो एक ही हैश का उत्पादन करते हैं लेकिन जो सभी काफी यादृच्छिक लगते हैं, लेकिन आप काफी करीब हो सकते हैं।
ओलाथे

कबूतर सिद्धांत निश्चित रूप से लागू होता है, लेकिन यह अभी भी कम्प्यूटेशनल रूप से एक दूसरे इनपुट को खोजने के लिए व्यावहारिक है जो एक निश्चित मूल्य पर हैश करता है, जैसे एक सामान्य पासवर्ड पर एक हैश। यदि आपको एक X जो किसी दिए गए H (X) को हैश करता है, तो आप निश्चित हो सकते हैं कि X सही इनपुट है। यह इस उत्तर के पूरे पहले खंड को बनाता है और बाकी का अधिकांश गलत है।
मार्टन बोडेव्स

13

संभव नहीं है, कम से कम समय की उचित मात्रा में नहीं।

जिस तरह से इसे अक्सर हैंडल किया जाता है वह एक पासवर्ड "रीसेट" है। यही है, आप उन्हें एक नया (यादृच्छिक) पासवर्ड देते हैं और उन्हें एक ईमेल में भेजते हैं।


5
यदि हैश नमकीन नहीं था, तो आप आश्चर्यचकित होंगे कि यह सब कितनी बार लिया जाता है, हैश मूल्य के लिए एक Google खोज है ...
माइकल बोर्गवर्ड

1
एक पासवर्ड पुनर्प्राप्ति प्रणाली के लिए वास्तव में व्यावहारिक नहीं है, यहां तक ​​कि एक अनसाल्टेड भी :)
मैथ्यू ग्रूव्स

12

आप किसी भी भाषा में md5 पासवर्ड वापस नहीं ले सकते।)

पर तुम कर सकते हो:

उपयोगकर्ता को एक नया संदेश दें।

शायद पुराने को पुनः प्राप्त करने के लिए कुछ इंद्रधनुष तालिका में जाँच करें।


1
इंद्रधनुष तालिका विचार निक्स। यदि आप नमस्कार कर रहे हैं - और आपको होना चाहिए - तो यह किसी भी तरह से काम नहीं करेगा।
स्टीवन सुदित

1
@StevenSudit यदि वे अभी भी एक मजबूत पासवर्ड हैश का उपयोग करने के बजाय MD5 से हैश पासवर्ड का उपयोग कर रहे हैं , तो आप यह नहीं मान सकते कि वे नमक का उपयोग कर रहे हैं। शायद वे करते हैं, शायद वे नहीं करते हैं।
Maarten Bodewes

10

नहीं, वह एमडी 5 शब्दकोशों के बारे में उलझन में रहा होगा।

क्रिप्टोग्राफिक हैश (एमडी 5, आदि ...) एक तरीका है और आप मूल संदेश को केवल तब तक पचा नहीं सकते जब तक कि आपके पास मूल संदेश आदि के बारे में कुछ अन्य जानकारी हो, जो आपको नहीं करना चाहिए।


8

डिक्रिप्शन (सीधे एल्गोरिदम तरीके से हैश वैल्यू से सादा पाठ प्राप्त करना), नहीं।

हालांकि, ऐसे तरीके हैं जो एक इंद्रधनुष तालिका के रूप में जाना जाता है का उपयोग करते हैं । यह बहुत संभव है अगर आपके पासवर्ड बिना नमक के हैशेड हैं।


7

MD5 एक हैशिंग एल्गोरिथ्म है, आप हैश मान को वापस नहीं ला सकते हैं।

आपको "परिवर्तन पासवर्ड सुविधा" को जोड़ना चाहिए, जहां उपयोगकर्ता एक और पासवर्ड देता है, हैश की गणना करता है और इसे नए पासवर्ड के रूप में संग्रहीत करता है।


7

ऐसा करने का कोई आसान तरीका नहीं है। यह पहली बार पासवर्ड के हैशिंग के बिंदु की तरह है। :)

एक चीज जो आपको करने में सक्षम होना चाहिए, वह उनके लिए एक अस्थायी पासवर्ड सेट करना है और उन्हें भेजना है।

मैं इसका उल्लेख करने में संकोच करता हूं क्योंकि यह एक बुरा विचार है (और यह वैसे भी काम करने की गारंटी नहीं है), लेकिन आप कोशिश कर सकते हैं कि हैश जैसे इंद्रधनुष तालिका में हैश देखने की कोशिश करें कि क्या आप उस तरह से पुराने पासवर्ड को पुनर्प्राप्त कर सकते हैं।


6

अन्य सभी उत्तर यहां देखें कि यह कैसे और क्यों प्रतिवर्ती नहीं है और आप वैसे भी क्यों नहीं चाहते हैं।

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

इसके अलावा, यह नमकीन हैश के लिए काम नहीं करेगा। नमकीन कई सुरक्षा विशेषज्ञों द्वारा सिफारिश की है।


गलत है । यदि कोई मिलान पाया जाता है तो यह निश्चित है कि यह मूल पासवर्ड होगा। यदि यह मामला नहीं था, तो किसी भी एच (एक्स) को दिए गए टकरावों को उत्पन्न करना संभव होगा जहां एक्स एक संदेश है जो पूर्वनिर्धारित संरचना के बिना एक संदेश है। क्रिप्टोग्राफिक रूप से सुरक्षित हैश फ़ंक्शन के लिए इस तरह की टक्कर को खोजने के लिए यह कम्प्यूटेशनल रूप से संक्रामक है, भले ही यह एमडी 5 जैसे टूटे हुए हैश फ़ंक्शन हो।
Maarten Bodewes

@MaartenBodewes: "यदि एक मैच पाया जाता है तो यह निश्चित है कि यह मूल पासवर्ड होगा।" मैं नहीं देख सकता कि ऐसा कैसे हो, अगर हम पासवर्ड की असीमित लंबाई मान लेते हैं। मैं कहूंगा कि यह मूल पासवर्ड होने की बहुत संभावना है, लेकिन यह होना जरूरी नहीं है । तथ्य यह है MD5 हैश की तुलना में अधिक संभव पासवर्ड देखते हैं कि मतलब है कि यह चाहिए संभव वहाँ एक ही हैश के साथ दो पासवर्ड होने के लिए हो सकता है। सिर्फ इसलिए कि इस तरह के टकरावों को खोजने के लिए यह कम्प्यूटेशनल रूप से संभव है इसका मतलब यह नहीं है कि वे मौजूद नहीं हैं। या मैंने तुम्हें गलत समझा है?
जॉन स्कीट

@JonSkeet यदि उद्देश्य पर टकराना अनिवार्य रूप से संभव है, तो संयोग से एक को ढूंढना भी उतना ही असंभव या बुरा है। MD5 के सीमित आउटपुट स्थान और जन्मदिन की समस्या के कारण आपको जो टक्कर मिलेगी, वह 1 से 2 ^ 64 (यानी आउटपुट स्पेस का लगभग आधा) में होती है - और यह लगभग 2 ^ 64 हैश के मिलान के बाद होती है। और यह भी विचार नहीं करता है कि संदेश को शायद छोटा होना चाहिए और पासवर्ड माना जाने वाला एक विशिष्ट प्रारूप होना चाहिए। अधिकांश पासवर्ड में 2 ^ 64 बिट्स के नीचे एक एन्ट्रापी होता है।
मार्टन बॉड्यूज

1
@MaartenBodewes: लेकिन "खगोलीय संभावना नहीं" और "असंभव" के बीच एक बड़ा अंतर है। इसके बारे में आपका कथन निश्चित है कि यह सही पासवर्ड है अत्यधिक मजबूत है, IMO। यह एक गणितीय निश्चितता का सुझाव देता है जो मौजूद नहीं है।
जॉन स्कीट

आप एक बार में 2 ^ 128 बिट एईएस कुंजी भी अनुमान लगा सकते हैं। यह "बस" बेहद संभावना नहीं है। क्रिप्टोग्राफी इस तरह की बाधाओं पर निर्भर करती है। सभी व्यावहारिक उद्देश्यों के लिए, यदि आप एक इनपुट संदेश / पासवर्ड पाते हैं, तो यह वही होगा जो आप खोज रहे थे। यह एक और इनपुट संदेश खोजने के लिए सैद्धांतिक रूप से संभव है, लेकिन स्टैकऑवरफ्लो पर इस सवाल के लिए इस पर विचार करने की कोई आवश्यकता नहीं है। और इंद्रधनुष टेबल केवल संभव पासवर्ड से भरे हुए हैं। उनमें इतना डेटा नहीं होगा कि कभी भी टक्कर का मौका हो (वे या तो अनजाने में मानचित्रण को अधिलेखित कर देंगे या प्रसिद्ध हो जाएंगे)।
मार्टन बोडेवेस

4

इसके लिए उलटा फ़ंक्शन खोजने के मामले में एक हैश फ़ंक्शन को "reverting" करने का कोई तरीका नहीं है। जैसा कि पहले उल्लेख किया गया है, यह हैश फ़ंक्शन होने का पूरा बिंदु है। यह प्रतिवर्ती नहीं होना चाहिए और इसे तेज हैश मूल्य गणना के लिए अनुमति देना चाहिए। तो एक इनपुट स्ट्रिंग को खोजने का एकमात्र तरीका है जो किसी दिए गए हैश मान की पैदावार करता है, सभी संभव संयोजनों का प्रयास करना है। इसे उस कारण से ब्रूट फोर्स अटैक कहा जाता है।

सभी संभव संयोजनों की कोशिश करने में बहुत समय लगता है और यही कारण है कि पासवर्डों को अपेक्षाकृत सुरक्षित तरीके से संग्रहीत करने के लिए हैश मूल्यों का उपयोग किया जाता है। यदि कोई हमलावर आपके डेटाबेस को सभी उपयोगकर्ता पासवर्ड के साथ एक्सेस करने में सक्षम है, तो आप किसी भी स्थिति में ढीले हैं। यदि आपके पास हैश मान हैं और (आदर्श रूप से बोलना) मजबूत पासवर्ड हैं, तो हमलावर के लिए हैश मानों से पासवर्ड प्राप्त करना बहुत कठिन होगा।

हैश मान को संग्रहीत करना भी कोई प्रदर्शन समस्या नहीं है क्योंकि हैश मान की गणना अपेक्षाकृत तेज है। इसलिए अधिकांश प्रणालियाँ उपयोगकर्ता द्वारा (जो तेज़ है) में रखे पासवर्ड के हैश मान की गणना कर रही हैं और फिर उनके उपयोगकर्ता डेटाबेस में संग्रहीत हैश मान से तुलना करें।


इस जवाब में कुछ भी गलत नहीं है, सिवाय इसके कि हैश फ़ंक्शन की गति बहुत अधिक समस्या है क्योंकि अधिकांश पासवर्ड पर्याप्त सुरक्षित नहीं हैं और एक शब्दकोश हमले के लिए एक विरोधी को अनुमति देते हैं। उस कारण से धीमी गति से पासवर्ड हैश फ़ंक्शन का उपयोग तेजी से क्रिप्टोग्राफिक रूप से सुरक्षित हैश फ़ंक्शन के बजाय किया जाता है।
Maarten Bodewes

3

एमडी 5 को टूटा हुआ माना जाता है, इसलिए नहीं कि आप हैश से मूल सामग्री वापस पा सकते हैं, लेकिन क्योंकि काम के साथ, आप दो संदेशों को एक ही हैश में हैश कर सकते हैं।

आप MD5 हैश को अन-हैश नहीं कर सकते।


3
डिजाइन के अनुसार, सभी समान लंबाई वाले हैश टकराव से पीड़ित होते हैं। चर-लंबाई डेटा को प्रतिबंधित करते समय यह अपरिहार्य है। एमडी 5 को टकराव की दर के लिए अप्रचलित माना जाता है, टकराव के तथ्य के लिए नहीं।
जोनाथन लोनोवस्की

टकराव के निर्माण की सिद्ध संभावना के कारण एमडी 5 को टूटा हुआ माना जाता है।
नेड बाचेल्ड

3

आप मूल संदेश प्राप्त करने के लिए एक शब्दकोश का उपयोग करने वाले ऑनलाइन टूल पा सकते हैं।

कुछ मामलों में, शब्दकोश विधि बेकार हो सकती है:

  • यदि संदेश SALT संदेश का उपयोग करके हैश किया गया हो
  • यदि संदेश एक से अधिक बार हैश है

उदाहरण के लिए, यहां एक MD5 डिक्रिप्टर ऑनलाइन टूल है।


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

2

केवल एक चीज जो काम कर सकती है (यदि हम उल्लेख करते हैं कि पासवर्ड सिर्फ हैशेड हैं, बिना रिप्ले हमलों को रोकने के लिए किसी भी प्रकार के नमक को जोड़ने के बिना, यदि ऐसा है तो आपको नमक पता होना चाहिए), एक शब्दकोश हमला टूल प्राप्त करें , कई शब्दों, संख्याओं आदि की फाइलें फिर दो पंक्तियों का निर्माण करती हैं, एक पंक्ति शब्द है, संख्या (शब्दकोष में) दूसरा एक शब्द का हैश है, और यदि आप इसे प्राप्त करते हैं तो हैश की तुलना करें ...

यह एकमात्र तरीका है, बिना क्रिप्टोनालिसिस में जाने के।


2

हां, वास्तव में आप जो पूछ रहे हैं वह संभव है। मदद के बिना एक एमडी 5 पासवर्ड को 'डिक्रिप्ट' करना संभव नहीं है, लेकिन एमडी 5 पासवर्ड को किसी अन्य एल्गोरिदम में फिर से एन्क्रिप्ट करना संभव है, बस सभी एक बार में नहीं।

आप जो कुछ भी करते हैं, वह आपके उपयोगकर्ताओं के लिए पुराने एमडी 5 पासवर्ड का उपयोग करके अपने नए सिस्टम में लॉगऑन करने में सक्षम होने के लिए करता है। इस बिंदु पर कि वे लॉगिन करते हैं उन्होंने आपके लॉगिन प्रोग्राम को पासवर्ड का अनहैस्ड संस्करण दिया है जो आपके पास एमडी 5 हैश से मेल खाता है। फिर आप इस अप्रकाशित पासवर्ड को अपने नए हैशिंग एल्गोरिथ्म में बदल सकते हैं।

जाहिर है, यह एक विस्तारित प्रक्रिया है क्योंकि आपको अपने उपयोगकर्ताओं को यह बताने के लिए इंतजार करना होगा कि पासवर्ड क्या हैं, लेकिन यह काम नहीं करता है।

(एनबी: सात साल बाद, ओह, अच्छी तरह से उम्मीद है कि कोई इसे उपयोगी पाएगा)


उत्तर के लिए धन्यवाद। हालाँकि मैं आपको "1 अप" करने जा रहा हूं :) मुझे याद नहीं है कि क्या मैंने वास्तव में ऐसा किया है, लेकिन सिद्धांत रूप में यह काम करना चाहिए। हर एक उपयोगकर्ता के लॉगिन की प्रतीक्षा करने के बजाय ताकि हम उनके पासवर्ड को फिर से एन्क्रिप्ट कर सकें, आप बस उनके पासवर्ड के हैशेड संस्करण को एन्क्रिप्ट कर सकते हैं। तो हर पासवर्ड MD5 हैशेड होगा, और फिर एन्क्रिप्ट किया जाएगा। बस ऐसा करने के लिए पासवर्ड चेक अपडेट किया गया है और उपयोगकर्ता डेटा उपयोगकर्ता के हस्तक्षेप की आवश्यकता के बिना सुरक्षित होना चाहिए।
जॉन Bubriski

ऊपर मेरी टिप्पणी के लिए एक और चेतावनी। मैं एन्क्रिप्शन पर एक विशेषज्ञ नहीं हूं, इसलिए मुझे यकीन नहीं है कि इसके आगे कोई सुरक्षा निहितार्थ हैं। उदाहरण के लिए, कमज़ोर पासवर्डों को एन्क्रिप्ट करना जो एन्क्रिप्ट होने से पहले कमज़ोर हो गए हैं, संभवतः एन्क्रिप्शन की सुरक्षा से समझौता कर सकते हैं (शायद एक और नमक भी?)। इसके अलावा, आपके पास उन एमडी 5 हैशेड पासवर्ड के साथ बैकअप चल सकता है। इस प्रकार के उन्नयन को करते समय सभी मौजूदा पासवर्डों का पूर्ण अमान्य होना बेहतर है।
जॉन Bubriski

क्रिप्टोग्राफ़र डबल एन्क्रिप्शन के बारे में चिंता करते हैं, लेकिन मुझे लगता है कि उन्होंने केवल तुच्छ मामलों को पाया है जहां यह एक समस्या है। लेकिन मुझे नहीं लगता कि यह इस मामले में उपयोगी है क्योंकि एमडी 5 अभी भी (बहुत लंबा, पाठ) पासवर्ड के लिए सुरक्षित नहीं है। फिर भी, डबल हैशिंग उपयोगी हो सकती है यदि पिछले डेवलपर नमक जोड़ना भूल गया था, अन्यथा, मैं एक ऐसे मामले के बारे में नहीं सोच सकता हूं जहां आपको सभी को बताना नहीं होगा कि पासवर्ड को पासवर्ड माना जाना चाहिए। उम्मीद है, अपने बैकअप खो नहीं है, और वैसे भी एन्क्रिप्टेड रहे हैं।
user3710044

1

नहीं, यह नहीं किया जा सकता है। या तो आप एक शब्दकोश का उपयोग कर सकते हैं, या आप हैश पाने के लिए अलग-अलग मूल्यों की कोशिश कर सकते हैं जब तक आप हैश प्राप्त नहीं कर लेते। लेकिन यह "डिक्रिप्टेड" नहीं हो सकता।


मैंने इस वेबसाइट को देखा जो मूल पाठ में md5 को उलट देती है: md5.gromweb.com । फिर यह कैसे संभव है?
samach

2
@ samach321 - आसान: उनके पास हैश स्ट्रिंग्स का एक DB है। जो कुछ भी आप उनके "एक स्ट्रिंग को एमडी 5 हैश में बदलें" बॉक्स में डालते हैं, डीबी में जुड़ जाता है। किसी अन्य स्रोत से MD5 हैश प्राप्त करने का प्रयास करें और उसमें प्रवेश करें। जब तक यह कुछ ऐसा है जो उनके DB में है, आपको परिणाम नहीं मिलेगा।
विल्क्स-

1

एमडी 5 की अपनी कमजोरियां हैं ( विकिपीडिया देखें ), इसलिए कुछ परियोजनाएं हैं, जो हैश को आगे बढ़ाने की कोशिश करती हैं। विकिपीडिया भी इनमें से कुछ परियोजनाओं पर संकेत देता है। मुझे पता है (और सम्मान) ophrack है। आप उपयोगकर्ता को अपना पासवर्ड नहीं बता सकते हैं, लेकिन आप उन्हें एक पासवर्ड बताने में सक्षम हो सकते हैं जो काम करता है। लेकिन मुझे लगता है: यदि वे भूल गए तो बस एक नया पासवर्ड थ्रिल करें।


तथ्य यह है कि एमडी 5 टूट गया है (फ़ंक्शन के विशिष्ट लेकिन महत्वपूर्ण उपयोगों के लिए) इंद्रधनुष तालिकाओं के साथ बिल्कुल कुछ भी नहीं है (जो कि हैश के पूर्वसंक्रमण का उल्लेख करते समय आपको संकेत देता है)।
Maarten Bodewes

1

एमडी 5 हैश एल्गोरिदम प्रतिवर्ती नहीं है, इसलिए एमडी 5 डिकोड में संभव नहीं है, लेकिन कुछ वेबसाइट में पासवर्ड मैच के थोक सेट हैं, इसलिए आप डीकोड 5 हैश के लिए ऑनलाइन प्रयास कर सकते हैं।

ऑनलाइन कोशिश करें:

MD5 डिक्रिप्ट

md5online

md5decrypter


हाँ, लेकिन यह पहले से ही इस सवाल से आच्छादित है कि वाक्यांश में "मुझे पता है कि शब्दकोश हैं"। केवल शब्दकोशों को इंगित करना इसलिए उत्तर के रूप में नहीं गिना जाता है।
मार्टन बॉड्यूज

1

सिद्धांत रूप में यह एक हैश मान को डिक्रिप्ट करना संभव नहीं है लेकिन मूल सादे पाठ को वापस पाने के लिए आपके पास कुछ गंदी तकनीकें हैं।

  1. Bruteforcing : सभी कंप्यूटर सुरक्षा एल्गोरिथ्म पीड़ित bruteforcing । इस विचार के आधार पर, आज का GPU समानांतर प्रोग्रामिंग के विचार का उपयोग करता है, जिसके उपयोग से वह अपने ग्राफिक्स प्रोसेसर का उपयोग करके बड़े पैमाने पर ब्रूटफॉरमेंस करके सादे पाठ को वापस पा सकता है। यह टूल हैशटैट यह काम करता है। पिछली बार जब मैंने इसका क्यूडा संस्करण चेक किया था, तो मैं छह मिनट के भीतर 7 अक्षर लंबे अक्षर को bruteforce करने में सक्षम था।
  2. इंटरनेट खोज : बस गूगल पर हैश को कॉपी और पेस्ट करें और देखें कि क्या आप संबंधित प्लेनटेक्स्ट को वहां पा सकते हैं। यह तब समाधान नहीं है जब आप किसी चीज़ पर ध्यान दे रहे हों, लेकिन यह निश्चित रूप से एक कोशिश के लायक है। कुछ वेबसाइट शब्दकोश में लगभग सभी शब्दों के लिए हैश बनाए रखती हैं।

2
डिक्शनरी अटैक एक अन्य तरीका है, या अन्य डेटाबेस के खिलाफ तुलना करना जिसके लिए आप इनपुट पासवर्ड जानते हैं।
Maarten Bodewes

1

नहीं, एमडी 5 जैसे हैश फ़ंक्शन को रिवर्स करना संभव नहीं है: आउटपुट हैश मान को देखते हुए इनपुट संदेश को ढूंढना असंभव है जब तक कि इनपुट संदेश के बारे में पर्याप्त जानकारी न हो।

डिक्रिप्शन एक फ़ंक्शन नहीं है जिसे हैश फ़ंक्शन के लिए परिभाषित किया गया है; एन्क्रिप्शन और डिक्रिप्शन एक सिफर के कार्य हैं जैसे CBC मोड में AES; हैश फंक्शन एन्क्रिप्ट नहीं करते हैं और न ही डिक्रिप्ट होते हैंहैश फ़ंक्शन का उपयोग इनपुट संदेश को पचाने के लिए किया जाता है । जैसा कि नाम से ही स्पष्ट है कि डिजाइन द्वारा कोई रिवर्स एल्गोरिदम संभव नहीं है


MD5 को क्रिप्टोग्राफिक रूप से सुरक्षित, वन-वे हैश फ़ंक्शन के रूप में डिज़ाइन किया गया है । एमडी 5 के लिए टकराव उत्पन्न करना अब आसान है - भले ही इनपुट संदेश का एक बड़ा हिस्सा पूर्व निर्धारित हो। तो एमडी 5 आधिकारिक तौर पर टूट गया है और एमडी 5 को अब क्रिप्टोग्राफिक रूप से सुरक्षित हैश नहीं माना जाना चाहिए। हालांकि एक इनपुट संदेश मिलना अभी भी असंभव है जो हैश वैल्यू की ओर जाता है: एक्स को तब खोजें जब केवल एच (एक्स) ज्ञात हो (और एक्स में प्री-कम्यूटेड डेटा के कम से कम एक 128 बाइट ब्लॉक के साथ पूर्व-संकलित संरचना नहीं है) । एमडी 5 के खिलाफ कोई पूर्व-छवि हमले नहीं हैं ।

आमतौर पर डेटाबेस की तुलना करने या तथाकथित इंद्रधनुष तालिकाओं में पासवर्ड हैश को खोजने और खोजने की कोशिश करने के लिए, ब्रूट फोर्स या (संवर्धित) डिक्शनरी हमलों का उपयोग करके पासवर्ड का अनुमान लगाना संभव है। यदि कोई मिलान पाया जाता है तो यह कम्प्यूटेशनल रूप से निश्चित है कि इनपुट मिल गया है। टकराव के हमलों के खिलाफ हैश फ़ंक्शंस भी सुरक्षित हैं: X'ऐसा लगता है कि H(X') = H(X)दिया गया है H(X)। तो अगर Xयह पाया जाता है कि यह कम्प्यूटेशनल रूप से निश्चित है कि यह वास्तव में इनपुट संदेश था। अन्यथा आप सभी के बाद टकराव का प्रदर्शन होता। रेनबो टेबल का उपयोग हमलों को तेज करने के लिए किया जा सकता है और वहाँ विशेष इंटरनेट संसाधन हैं जो आपको एक विशिष्ट हैश दिए गए पासवर्ड को खोजने में मदद करेंगे।

अन्य प्रणालियों पर उत्पन्न पासवर्ड को सत्यापित करने के लिए हैश मान का फिर से उपयोगH(X) करना निश्चित रूप से संभव है । केवल एक चीज जिसे प्राप्त करने की प्रणाली है, Fवह H(X)इनपुट के रूप में निर्धारित होने वाले नियतात्मक फ़ंक्शन के परिणाम को संग्रहीत करना है । जब Xसिस्टम को दिया जाता है तब H(X)और इसलिए Fपुनर्गणना की जा सकती है और परिणामों की तुलना की जा सकती है। दूसरे शब्दों में, यह सत्यापित करने के लिए हैश मान को डिक्रिप्ट करने की आवश्यकता नहीं है कि एक पासवर्ड सही है, और आप अभी भी हैश को एक अलग मान के रूप में संग्रहीत कर सकते हैं।


एमडी 5 के बजाय एक पासवर्ड हैश या पीबीकेडीएफ (पासवर्ड आधारित कुंजी व्युत्पत्ति फ़ंक्शन) का उपयोग करना महत्वपूर्ण है। ऐसा फ़ंक्शन निर्दिष्ट करता है कि एक हैश के साथ नमक का उपयोग कैसे किया जाए । इस तरह से समान हैश समान पासवर्ड (अन्य उपयोगकर्ताओं या अन्य डेटाबेस से) के लिए उत्पन्न नहीं होगा। उस कारण से पासवर्ड हैश भी इंद्रधनुष की तालिकाओं का उपयोग करने की अनुमति नहीं देता है जब तक कि नमक पर्याप्त बड़ा और ठीक से यादृच्छिक न हो।

पासवर्ड हैश में एक कार्य कारक भी होता है (कभी-कभी इसे पुनरावृत्ति गणना का उपयोग करके कॉन्फ़िगर किया जाता है ) जो हमलों को काफी धीमा कर सकता है जो नमक और हैश मान को दिए गए पासवर्ड को खोजने का प्रयास करता है। यह महत्वपूर्ण है क्योंकि लवण और हैश मूल्यों वाले डेटाबेस को चुराया जा सकता है। अंत में, पासवर्ड हैश मेमोरी-हार्ड भी हो सकता है ताकि हैश की गणना करने के लिए महत्वपूर्ण मात्रा में मेमोरी की आवश्यकता हो। यह विशेष हार्डवेयर (GPU के, ASIC, FPGA आदि) का उपयोग करने के लिए एक हमलावर को खोज को गति देने की अनुमति देना असंभव बनाता है। अन्य इनपुट या कॉन्फ़िगरेशन विकल्प जैसे कि काली मिर्च या समानीकरण की मात्रा भी पासवर्ड हैश के लिए उपलब्ध हो सकती है।

हालाँकि यह किसी को H(X)भी H(X)पासवर्ड हैश होने पर भी दिए गए पासवर्ड को सत्यापित करने की अनुमति देगा । पासवर्ड हैश अभी भी नियतात्मक हैं, इसलिए यदि किसी को सभी इनपुट और हैश एल्गोरिथ्म खुद पता है तो Xगणना करने के लिए H(X)और फिर से - परिणाम की तुलना की जा सकती है।

आमतौर पर उपयोग किए जाने वाले पासवर्ड हैश bcrypt , scrypt और PBKDF2 हैं । विभिन्न रूपों में आर्गन 2 भी है जो हालिया पासवर्ड हैशिंग प्रतियोगिता का विजेता है। यहाँ पर CrackStation पासवर्ड सुरक्षा सही करने पर एक अच्छा ब्लॉग पोस्ट है।


यह संभव है कि विरोधी के लिए हैश गणना को सत्यापित करना संभव है कि एक पासवर्ड सही है। इसके लिए काली मिर्च को पासवर्ड हैश के इनपुट के रूप में इस्तेमाल किया जा सकता है। वैकल्पिक रूप से, हैश मूल्य निश्चित रूप से एईएस जैसे सिफर और सीबीसी या जीसीएम जैसे ऑपरेशन के एक मोड का उपयोग करके एन्क्रिप्ट किया जा सकता है। हालांकि इसके लिए स्वतंत्र रूप से एक गुप्त / कुंजी के भंडारण की आवश्यकता होती है और पासवर्ड हैश की तुलना में अधिक पहुंच आवश्यकताओं के साथ।


0

MD5 एक क्रिप्टोग्राफिक (वन-वे) हैश फ़ंक्शन है, इसलिए इसे डिकोड करने का कोई सीधा तरीका नहीं है। क्रिप्टोग्राफ़िक हैश फ़ंक्शन का संपूर्ण उद्देश्य यह है कि आप इसे पूर्ववत नहीं कर सकते।

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


-1

एल्गोरिथ्म में पासवर्ड के हैश में डालना और सादे पाठ में पासवर्ड वापस प्राप्त करना अभी तक संभव नहीं है क्योंकि हैशिंग एक तरह से चीज़ है। लेकिन लोगों ने जो किया है वह हैश जनरेट करना और उसे एक बड़ी तालिका में स्टोर करना है ताकि जब आप किसी विशेष हैश में प्रवेश करें, तो यह उस पासवर्ड के लिए तालिका की जांच करता है जो हैश से मेल खाता है और उस पासवर्ड को आपके पास लौटाता है। किसी साइट का एक उदाहरण जो http://www.md5online.org/ है । आधुनिक पासवर्ड स्टोरेज सिस्टम एक सैल्ट एल्गोरिथ्म का उपयोग करके इसे काउंट करता है, जैसे कि जब आप पंजीकरण के दौरान पासवर्ड बॉक्स में एक ही पासवर्ड डालते हैं तो विभिन्न हैश उत्पन्न होते हैं।


-1

नहीं, आप md5 को डिक्रिप्ट / रिवर्स नहीं कर सकते हैं क्योंकि यह एक तरह से हैश फ़ंक्शन है जब तक कि आप एमडी 5 में व्यापक कमजोरियां नहीं पा सकते हैं। दूसरा तरीका यह है कि कुछ वेबसाइट में पासवर्ड डेटाबेस का एक बड़ा सेट होता है, इसलिए आप अपने MD5 या SHA1 हैश स्ट्रिंग को डीकोड करने के लिए ऑनलाइन कोशिश कर सकते हैं। मैंने http://www.mycodemyway.com/encrypt-and-decrypt/md5 जैसी वेबसाइट और उसके लिए काम करने की कोशिश की , लेकिन यह पूरी तरह से आपके हैश पर निर्भर करता है अगर उस हैश को उस डेटाबेस में संग्रहीत किया जाता है तो आप वास्तविक स्ट्रिंग प्राप्त कर सकते हैं ।


1
नहीं, MD5 एन्क्रिप्शन नहीं है, एक तरफ़ा एन्क्रिप्शन भी नहीं है (जो कि पहली जगह में मायने नहीं रखता है)।
मार्टन बॉड्यूज

@MaartenBodewes यह मेरी गलती है कि यह एक एन्क्रिप्शन फ़ंक्शन नहीं है, इसका हैश फ़ंक्शन धन्यवाद।
रफ़ी अहमद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.