java पासवर्ड हैशिंग के लिए क्या उपयोग करें? JBCrypt का उपयोग करने का कोई कारण नहीं है?




hash (3)

जहां तक ​​आपकी चिंता है कि यह परिपक्व नहीं है, मैं सुझाव दे रहा था कि आप जेबीक्रिप्ट और अधिक प्रमाणित बीक्रिप्ट के परिणामों की तुलना में अपने खुद के जेयूनेट टेस्ट की स्थापना करें, यह देखने के लिए कि क्या आपको समान परिणाम मिलते हैं, और फिर जेबीक्रिप्ट परियोजना।

लेकिन यह पहले से ही किया गया है:

... पुस्तकालय के सही संचालन की पुष्टि करने के लिए ज्युनिट यूनिट परीक्षणों के एक सेट के साथ जहाज और बीसीआरपी एल्गोरिथम के कैननियम सी कार्यान्वयन के साथ संगतता।

JUnit परीक्षणों को देखने के लिए कि क्या वे संतुष्टि के अपने स्तर को पूरा करते हैं, जहां मैं शुरू करूँगा ...

मैं एक नया वेब अनुप्रयोग में पासवर्ड हैशिंग के लिए jBCrypt का उपयोग करने की योजना बना रहा हूं, क्योंकि यह मैंने जो पढ़ा है उससे सबसे अच्छा होना चाहिए। जैसा कि मैंने इसका इस्तेमाल नहीं किया है, इससे पहले कि मैं देख रहा हूं कि इसका उपयोग करने के लिए कोई कारण नहीं है।

मेरे पास यह है:

  • मैंने इसे मेवेन रिपॉजिटरी में नहीं पाया (jbcrypt और bcrypt पर mvnrepository.org पर खोज की है) जो कि एक डाउनर है क्योंकि मैं अपनी निर्भरता को अगर संभव हो तो मेवेन रिपॉजिटरी का उपयोग करने में कामयाब होना चाहता हूं। अगर jBCrypt पासवर्ड हैशिंग के लिए नस्ल समाधान का सबसे अच्छा है, तो मुझे अपना स्थानीय भंडार सेटअप करना होगा और इसे इस तरह उपलब्ध होगा। या मैं इसे बस याद किया है? शायद यह वहां कहीं है?
  • यह केवल संस्करण 0.2 पर है, लेकिन हो सकता है कि यह वैसे भी स्थिर हो और कम संस्करण संख्या के कारण किसी अन्य कारण का कारण हो?

jBcrypt शायद आपके पासवर्ड के लिए एक क्रिप्टो एल्गोरिथ्म के रूप में ठीक है; ब्लॉफ़िश अपेक्षाकृत मजबूत है हालांकि ब्लॉफिश में कुछ रिपोर्टिंग की खामियाँ हैं, लेकिन मुझे जेबीक्रिप्ट के बारे में कुछ ज्यादा जानकारी नहीं मिली। दूसरी तरफ, ब्लॉफिश को अन्य एल्गोरिदम के रूप में लगभग उतना भारी परीक्षण नहीं किया गया है, और एक दरार -शैली ज्ञात-प्लन्टफ़ेस्ट हमले अक्सर उम्मीद से बेहतर काम करता है, आश्चर्यजनक क्रिप्टो गियक्स

तो यहां बताया गया है कि मैं क्या चाहता हूं:

  • आगे बढ़ो और jBcrypt का उपयोग करें, लेकिन आपकी एन्क्रिप्टेड पासवर्ड फाइलों को उस सीमा तक सुरक्षित रखें जो आप उचित रूप से कर सकते हैं - जैसा कि आप UNIX सिस्टम पर / etc / shadow का प्रयोग करेंगे।
  • निखिल के सुझाव के विपरीत, मैं सूत्रों को अपने संस्करण नियंत्रण में दो कारणों से खींच दूंगा: (1) आप उन्हें कहाँ रखेंगे, जब भी आप उन्हें बनाते हैं, और (2) क्योंकि हमेशा ऐसा मौका है जो व्यक्ति jBcrypt करता है अन्य बातों पर आगे बढ़ेगा, और आप अपने प्रसव से पहले ही झुंझला जाना चाहते हैं (जो अनिवार्य रूप से जब आपको पता चल जाएगा।) इस तरह की स्थिति में, मैं स्रोत को अपने संस्करण नियंत्रण में रखूंगा जैसे कि वे आपका कोड पर थे, और फिर कोई भी बदलाव सम्मिलित किया जा सकता है जैसे कि आप स्वयं को नया संस्करण बनाते हैं सामान्य रूप से आप की तुलना में अधिक जटिल होने की आवश्यकता नहीं है।

मुझे संदेह है कि स्थिरता एक मुद्दा बनने जा रही है, क्योंकि बीसीआरपीटी खुद परिपक्व है और इसके छोटे, मानकीकृत रैपर कुछ असाधारण नहीं करते हैं। मैं डेमियन मिलर के अन्य बीसीआरप्प्ट आवरण, अजगर-बीक्रिप्ट से खुश हूं , जो संस्करण 0.1 पर ही है।

मैं मैवेन से अपरिचित हूँ, लेकिन (पाषंड की चेतावनी!) मुझे संदेह है कि आप एक घटक के लिए वर्जन नियंत्रण की आवश्यकता है जैसे कि बीक्रीप्पट साइट को उद्धृत करने के लिए, v0.1 से v0.2 के परिवर्तन "शुद्धता, टाइपो और एपीआई tweaks (पूरी तरह से पीछे संगत)" थे और टूडो सूची खाली है।





jbcrypt