2011-09-22 10 views
11

मैं एक नियमित varchar के रूप में पासवर्ड स्तंभ बनाने चाहिए और फिर इस तरह सम्मिलित करें:mysql में पासवर्ड फ़ील्ड के साथ टेबल कैसे बनाएं?

sha1($pass_string) 

या मैं कुछ तालिका के निर्माण पर अतिरिक्त यह सुनिश्चित करें कि पासवर्ड क्षेत्र सुरक्षित है बनाने के लिए क्या करना चाहिए?

धन्यवाद!

उत्तर

11

यह एक सामान्य वर्चर फ़ील्ड (40 वर्ण) है लेकिन यदि आप इसे और अधिक सुरक्षित सेट करना चाहते हैं तो आपको नमक का उपयोग करना चाहिए।

http://highedwebtech.com/2008/04/25/season-your-passwords-with-some-salt/

अद्यतन:

चेतावनी: नमक के बिना हैश पासवर्ड वास्तव में कमजोर है! आपको इसका कभी भी उपयोग नहीं करना चाहिए !! password salting

रूप pst द्वारा सलाह दी:

पासवर्ड रेह से करने के लिए अच्छा तरीका है

  • SHA-1 और नमक का उपयोग कर अधिक अनुभवहीन लेकिन बहुत अच्छी तरह से सुरक्षित तरीका है।

  • bcrypt का उपयोग कर:

यह अधिक सुरक्षित तरीका है :) क्योंकि यह क्रम में गति का उपयोग यह अधिक सुरक्षित बनाने के लिए, bfish एक हैश एन्क्रिप्शन विधि ब्लोफिश के आसपास बनाया गया कार्य है। (Twofish से भी लगता है और भी blowfish का "आधुनिक" संस्करण होना चाहिए)।

यह SHA-1 की एक श्रृंखला का उपयोग कर एक संस्करण है, तो यह एक मध्यवर्ती समाधान है, लेकिन अपनी आवश्यकताओं के गति निर्धारित करने की इजाजत दी है। असल में गति आपकी सुरक्षा कमजोर बनाती है।

+2

भी एक अलग ("अधिक संगणकीय रूप से महंगा") फ़ंक्शन जैसे 'bcrypt' और/या एचएमएसी-हैश का उपयोग करना चाहिए। –

+2

हां, निश्चित रूप से अपने हैंश नमक। इसके अलावा, यदि आप प्रत्येक उपयोगकर्ता के लिए एक अलग नमक का उपयोग करते हैं, तो आप इंद्रधनुष तालिका के हमलों को रोकने में मदद करते हैं: http://en.wikipedia.org/wiki/Rainbow_table – Mac

+0

@pst: क्या आप अधिक जानकारी दे सकते हैं? :) – ykatchou

0

अधिकांश लोग हैश को सहेजते हैं जैसा आपने सुझाव दिया है। यह पर्याप्त और आसान है, इसे एक अच्छा विकल्प बना रहा है।

ध्यान दें कि सभी हैंश को अंततः क्रैक किया जा सकता है, इसलिए कोई हैश किसी से भी बेहतर नहीं है और एसएचए पर्याप्त मजबूत है।

+2

यह उससे भी बदतर है - नमक के बिना एक छोटा इंद्रधनुष तालिका हमला आसानी से इसे तोड़ देगा। साथ ही, एक एकल एसएचए पासवर्ड के लिए आदर्श से भी कम है क्योंकि * इसे बहुत तेज़ी से गणना की जा सकती है *। ('bcrypt' और HMAC उस पते की सहायता कर सकता है।) –

+0

एक ब्लॉक से छोटे डेटा के लिए hmac उपयोगी है? – ykatchou

+0

@ykatchou ओह, टिप्पणी थोड़ा गलत है। [एचएमएसी-एसएचए 1] (http://en.wikipedia.org/wiki/HMAC) को गति के साथ "मदद" करने के लिए डिज़ाइन नहीं किया गया है, लेकिन यह क्या कर सकता है एक सर्वर-गुप्त कुंजी के साथ सख्त बनाने का एक और स्तर जोड़ना है। –

2

आप अधिक सुरक्षा के लिए mysql में निर्मित AES_ENCRYPT() फ़ंक्शन का भी उपयोग कर सकते हैं। Link here

वहाँ भी एक अच्छा आगे बताया गया हो कि-करने के लिए यहाँ है: link

2

The manual स्तंभ किस प्रकार उपयोग करने के लिए की एक अच्छी व्याख्या में शामिल है।

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