2009-10-21 16 views
17

हैश पासवर्ड के लिए इसका क्या अर्थ है?पासवर्ड हैशिंग क्या है?

+8

क्या आप Google को यह नहीं कर सके? क्या आप अपना प्रश्न बढ़ा सकते हैं? क्या आप किसी स्रोत को देख रहे हैं और कुछ समझ नहीं रहे हैं? –

+4

@ फ्रैंक: मैं इस तरह के प्रश्नों पर आ गया हूं। गहराई की उनकी कमी ने मुझे भी परेशान किया, लेकिन इसे अनदेखा कर, हम "पासवर्ड हैशिंग" के लिए Google से एक अच्छा लैंडिंग पृष्ठ लिख सकते हैं। –

+0

@ माइकल, सहमत हुए। साथ ही, एसओ आपके प्रोग्रामिंग प्रश्न को जल्दी और सटीक उत्तर देने में सक्षम होने पर प्रतिष्ठा का निर्माण कर रहा है। जो, इस मामले में, उस प्रतिष्ठा को कायम रखता है। –

उत्तर

13

डेटा का एक ब्लॉक लेता है और एक स्ट्रिंग ऐसी है कि आप डेटा के अपने मूल ब्लॉक वापस नहीं मिल सकता है देता है।

Wikipedia Article

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

यह आप डेटाबेस (बुरा विचार) में क्लियर पासवर्ड संग्रहीत करने से रोकता है।

यहां एक list of hash functions है।

+0

मैं इस लिंक के लिए सलाह देता हूं http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms पासवर्ड हैशिंग के लिए शॉल का प्रयोग केवल "क्रिप्टोग्राफिक हैश फ़ंक्शन" उदाहरण के लिए सीआरसी नहीं किया जाना चाहिए –

6

एक हैश बस एक तरफा कार्य है, जो एक स्ट्रिंग या डेटा स्रोत लेगा और एक एन्क्रिप्टेड दिखने वाली स्ट्रिंग बनायेगा।

विभिन्न हैशिंग एल्गोरिदम रहे हैं सबसे लोकप्रिय MD5 है, लेकिन कई अन्य लोगों के हैं। बेहतर सुरक्षा के लिए उद्योग में कई विशेषज्ञ SHA256 एल्गोरिदम का उपयोग कर रहे हैं।

शब्द के लिए

MD5 हैश:

पासवर्ड 22e5ab5743ea52caf34abcc02c0f161d

पासवर्ड 319f4d26e3c536b5dd871bb2c52e3178

परिणाम की वर्ण की परवाह किए बिना कितने वर्ण आप हैश करने के लिए कोशिश की एक ही हो जाएगा है। हैश का उपयोग आमतौर पर पासवर्ड को स्टोर करने के लिए किया जाता है ताकि उन्हें देखने से रोका जा सके।

16

परिभाषा:
Hashing एक चर इनपुट आकार करने के लिए एक समारोह f() के आवेदन एक निरंतर आकार उत्पादन का उत्पादन होता है।

A => f() => X 
B => f() => Y 
C => f() => Z 

एक हैश भी एक-तरफ़ा समारोह जिसका अर्थ है वहाँ रिवर्स या एक हैश पूर्ववत करने के लिए एक समारोह नहीं है। साथ ही हैश f(f(x)) को फिर से लागू करने से उत्पाद x फिर से नहीं जा रहा है।

विवरण:

एक हैश समारोह के रूप में सरल रूप में या एक Cryptographic Hash ऐसे MD5 के रूप में या SHA1 की तरह जटिल "इनपुट करने के लिए 13 जोड़ें" हो सकता है।

  • Low Cost: वहाँ कई चीजें हैं जो की तरह एक अच्छा हैश समारोह का गठन कर रहे हैं की गणना करने के
  • Deterministic आसान: अगर मैं इनपुट a कई बार हैश, मैं एक ही उत्पादन हर बार प्राप्त करने के लिए जा रहा हूँ
  • Uniformity: इनपुट को संभावित आउटपुट के बीच समान रूप से वितरित किया जाएगा। यह Pigeonhole Principle नामक किसी चीज़ के अनुरूप आता है। चूंकि वहां सीमित संख्या में आउटपुट हैं, हम f() चाहते हैं ताकि वे समान बाल्टी में समान रूप से उन आउटपुट को समान रूप से रखें।जब दो इनपुट एक ही आउटपुट पर गणना करते हैं तो इसे टकराव के रूप में जाना जाता है। कम टकराव पैदा करने के लिए हैश फ़ंक्शन के लिए यह अच्छी बात है।

पासवर्ड के लिए आवेदन किया हैशिंग:

पासवर्ड के हैशिंग, एक ही प्रक्रिया के रूप में ऊपर वर्णित है, लेकिन यह कुछ विशेष विचार के साथ आता है। जब पासवर्ड की बात आती है तो बहुत से गुण हैं जो एक अच्छा हैश फ़ंक्शन बनाते हैं, फायदेमंद नहीं होते हैं।

उदाहरण के लिए निर्धारणा लें, क्योंकि हैश एक निर्धारक परिणाम उत्पन्न करते हैं जब दो लोग एक ही पासवर्ड का उपयोग करते हैं, हैश पासवर्ड स्टोर में समान दिखने वाला है। यह बुरी बात है! हालांकि यह salt नामक किसी चीज़ से कम हो गया है।

दूसरी तरफ वर्दी लाभकारी है क्योंकि एल्गोरिदम टकराव को सीमित करने की इच्छा है।

क्योंकि एक हैश वन-वे मतलब है इनपुट आउटपुट, है जहाँ से निर्धारित नहीं किया जा सकता है क्यों हैशिंग पासवर्ड के लिए महान है!

संबंधित मुद्दे