यह क्या आप के खिलाफ बचाव कर रहे हैं पर निर्भर करता है। यदि यह एक हमलावर है जो आपके डेटाबेस को खींच रहा है (या डेटाबेस को प्रदर्शित करने में आपके एप्लिकेशन को धोखा दे रहा है), तो सादे टेक्स्ट पासवर्ड बेकार हैं। ऐसे कई हमलों है कि आवेदन को समझाने पर भरोसा करते हैं यह निजी डेटा- एसक्यूएल इंजेक्शन, सत्र अपहरण, आदि यह बिल्कुल डेटा रखने के लिए अक्सर बेहतर नहीं है उगलना, लेकिन इतना बुरे लोगों को आसानी से उपयोग नहीं कर सकते टुकड़ों में बंटी संस्करण रखने के लिए कर रहे हैं ।
अपने सह कार्यकर्ता से पता चलता है, तुच्छता से एक शब्दकोश के खिलाफ एक ही हैश एल्गोरिथ्म चल रहा है और इंद्रधनुष तालिकाओं का उपयोग जानकारी बाहर खींच से हराया जा सकता है।
String hashedPass=CryptUtils.MD5("alsdl;ksahglhkjfsdkjhkjhkfsdlsdf" + user.getCreateDate().toString() + user.getPassword);
जब तक आपके नमक रहस्य है, या अपने हमलावर की सटीक निर्माण तिथि पता नहीं है
: हमेशा की तरह समाधान की तरह कुछ unique- टुकड़ों में बांटा परिणाम बनाने के लिए एक गुप्त नमक के साथ साथ अतिरिक्त उपयोगकर्ता जानकारी का उपयोग करने के लिए है उपयोगकर्ता का रिकॉर्ड, एक शब्दकोश हमला विफल हो जाएगा - यहां तक कि अगर वे पासवर्ड फ़ील्ड को खींचने में सक्षम होते हैं।
स्रोत
2008-09-12 13:59:27
वहां अच्छी पकड़ है - यह वास्तव में ओपी के सहकर्मी से भावनात्मक प्रतिक्रिया है। गर्म फज़ीज़ को संबोधित करना शायद अधिक उत्पादक होगा जो कठिन तर्क और मीट्रिक है। शायद सहयोगी पर हैशिंग अलगो पसंद को धक्का दें ताकि वे उचित समाधान में अधिक खरीद सकें? –
आपके यहां एक बहुत अच्छा बिंदु है। मैंने इस सवाल का जिक्र नहीं किया, लेकिन यह उसका कोड था - उसने इसे इस तरह से प्रेरित किया। अब यह मेरा कोड है, इसलिए मैं इसे एकतरफा रूप से बदल सकता हूं लेकिन अगर मैं कोड को समझने में और मदद की ज़रूरत है तो मैं उसे चेहरे/सहमत होने की अनुमति देना चाहूंगा ... –