अपफ्रंट में हैश किए गए पासवर्ड के साथ काम कर रहा है, मैं क्रिप्टोग्राफी और पासवर्ड सुरक्षा के लिए एक पूर्ण नौसिखिया होने के लिए कबूल करना चाहता हूं। मैं रूबी द्वारा बेबीसाट होने वाले डेटाबेस में पासवर्ड स्टोर करने की कोशिश कर रहा हूं।रूबी
Digest::SHA1.hexdigest(salt_plus_plainpassword)
एक बार है कि स्ट्रिंग डेटाबेस में संग्रहीत किया जाता है, एक है कि यह कैसे प्राप्त करता है: मेरी समझ है कि प्लेन पासवर्ड एक यादृच्छिक "नमक" के साथ जोड़ दिया जाना चाहिए और है कि पूरे वाक्यांश जैसे कुछ हैशिंग एल्गोरिथ्म द्वारा टुकड़ों में बांटा जाना चाहिए यह सत्यापित करने के लिए कि उपयोगकर्ता ने जो दर्ज किया है, वह सही है अगर अब इसमें अज्ञात यादृच्छिक नमक लगाया गया है?
अच्छी तरह से कहा। –
उस पर विस्तृत करने के लिए: नमक भंडारण एक समस्या नहीं है क्योंकि इसका एकमात्र उद्देश्य आपको हमलों से इंद्रधनुष-टेबल तक सहेजना है। चूंकि हैशिंग अपरिवर्तनीय है लेकिन अनुमानित है, हमलावर सामान्य पासवर्ड के पूर्व-गणना वाले हैंश को देखकर अनसाल्टेड हैश से पासवर्ड ढूंढ सकते हैं। इसे फिर से भरने के लिए: sha1 ("हैलो") [1] के परिणाम का अनुमान लगाने और सूचीबद्ध करना आसान है, अनुमान है कि sha1 ("हैलो" + नमक()) का परिणाम वास्तव में कठिन है। [1] यह है: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d, इसलिए जब भी मुझे अनसाल्टेड डेटाबेस में लगता है, तो मुझे पासवर्ड पता है। – Skade