2011-08-09 17 views
8

मैं एन्क्रिप्टेड पासवर्ड स्टोर करने के लिए एमडी 5 हैशिंग का उपयोग कर रहा हूं। पासवर्ड 6 से 40 वर्ण लंबा हो सकता है। एन्क्रिप्टेड पासवर्ड संग्रहीत करने के लिए आवश्यक डेटाबेस कॉलम आकार क्या है। इसके अलावा, अगर 40 वर्ण हैश आकार बहुत बड़ा है, तो 20 वर्ण पासवर्ड कितना हैश आकार लेगा?एमडी 5 हैश का आकार

मैं डाटाबेस में संग्रहीत करने के लिए हैश उत्पन्न करने के लिए FormsAuthentication.HashPasswordForStoringInConfigFile(stringToEncrypt, "MD5"); का उपयोग कर रहा हूं।

+12

हैशिंग! = एन्क्रिप्टिंग – Oded

+1

पासवर्ड के लिए MD5 का भी उपयोग न करें। एक कम्प्यूटेशनल महंगा हैश एल्गोरिदम का उपयोग करें जैसे कि बीक्रिप्ट या स्क्रिप, ताकि ब्रूट फोर्स द्वारा रिवर्स करना मुश्किल हो। –

उत्तर

24

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

आपके मामले में हैश आकार 128 बिट्स है। जब एक ASCII स्ट्रिंग में परिवर्तित किया जाता है तो यह 32 वर्ण स्ट्रिंग होगा जिसमें केवल हेक्साडेसिमल अंक हों।

+0

बहुत बहुत धन्यवाद। मैं हैश पासवर्ड को स्टोर करने के लिए 32 char कॉलम का उपयोग करूंगा। – Jatin

+8

याद रखें, अगर आप मैन्युअल रूप से हैशिंग पासवर्ड हैं, तो आप [इसे गलत कर रहे हैं] (http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html)। कृपया [bcrypt का उपयोग करें] (http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-in-c-where-can-i-find-it)। –

3

एमडी 5 हैश हमेशा 16 बाइट्स (128 बिट्स) लंबे होते हैं, इससे कोई फर्क नहीं पड़ता कि इनपुट कितना समय है।

6

http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx

MD5 एल्गोरिदम के लिए हैश आकार 128 बिट स्ट्रिंग की लंबाई की परवाह किए बिना टुकड़ों में बांटा जा रहा है।

SHA 256

+1

या पासवर्ड संग्रहीत करने के लिए, [bcrypt का उपयोग करें] (http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-in-c-where-can-i-find -यह)। –

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