"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा के साथ कॉन्फ़िगरेशन फ़ाइलों में पासवर्ड को सुरक्षित रूप से कैसे एन्क्रिप्ट करें?

जावा के साथ कॉन्फ़िगरेशन फ़ाइलों में पासवर्ड को सुरक्षित रूप से कैसे एन्क्रिप्ट करें?

2024-11-17 को प्रकाशित
ब्राउज़ करें:457

How to Securely Encrypt Passwords in Configuration Files with Java?

कॉन्फ़िगरेशन फ़ाइलों में पासवर्ड को सुरक्षित रूप से एन्क्रिप्ट कैसे करें

संवेदनशील डेटा की सुरक्षा और अनधिकृत पहुंच को रोकने के लिए कॉन्फ़िगरेशन फ़ाइलों में संग्रहीत पासवर्ड को एन्क्रिप्ट करना महत्वपूर्ण है।

का उपयोग करना जावा में पासवर्ड-आधारित एन्क्रिप्शन (पीबीई)

एन्क्रिप्टिंग और डिक्रिप्टिंग के लिए एक सरल और प्रभावी तरीका पासवर्ड का उद्देश्य जावा के पासवर्ड-आधारित एन्क्रिप्शन (पीबीई) का उपयोग करना है। PBE आपको PBKDF2WithHmacSHA512 जैसे सुरक्षित एल्गोरिदम का उपयोग करके पासवर्ड से एक कुंजी प्राप्त करने की अनुमति देता है।

कार्यान्वयन चरण

  1. एक नमक उत्पन्न करें: एक यादृच्छिक नमक बनाएं क्रूर-बल के हमलों को और अधिक चुनौतीपूर्ण बनाने के लिए।
  2. व्युत्पन्न करें एन्क्रिप्शन कुंजी: PBKDF2WithHmacSHA512 एल्गोरिदम का उपयोग करके पासवर्ड और नमक से AES कुंजी प्राप्त करने के लिए SecretKeyFactory का उपयोग करें।
  3. पासवर्ड एन्क्रिप्ट करें: AES/CBC/PKCS5Padding एल्गोरिदम के साथ एक सिफर प्रारंभ करें और व्युत्पन्न का उपयोग करके पासवर्ड एन्क्रिप्ट करें कुंजी।
  4. एन्क्रिप्टेड पासवर्ड को स्टोर करें: कॉन्फ़िगरेशन फ़ाइल में नमक के साथ एन्क्रिप्टेड पासवर्ड को स्टोर करें।
  5. पासवर्ड को डिक्रिप्ट करें: पढ़ते समय फ़ाइल से, समान एल्गोरिदम और कुंजी के साथ एक सिफर को तुरंत चालू करें, नमक का उपयोग करके पासवर्ड को डिक्रिप्ट करें, और मूल प्राप्त करें सादापाठ।

उदाहरण कोड

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;

// ...

SecretKeySpec key = createSecretKey(password.toCharArray(), salt, iterationCount, keyLength);
String encryptedPassword = encrypt(originalPassword, key);
// ...
String decryptedPassword = decrypt(encryptedPassword, key);

एन्क्रिप्शन पासवर्ड को स्टोर करना

एक चुनौती बनी हुई है: एन्क्रिप्शन के लिए इस्तेमाल किए गए पासवर्ड को कहां स्टोर किया जाए। विकल्पों में शामिल हैं:

  • स्रोत फ़ाइल में अस्पष्टता: पासवर्ड को स्रोत कोड में संग्रहीत करें और इसे पुनर्प्राप्त करना कठिन बनाने के लिए इसे अस्पष्ट करें।
  • प्रदान करें सिस्टम प्रॉपर्टी के रूप में: प्रोग्राम शुरू करते समय पासवर्ड को सिस्टम प्रॉपर्टी के रूप में पास करें (उदाहरण के लिए, -DpropertyProtectionPassword=...).
  • एक कुंजी स्टोर का उपयोग करें: एक मास्टर पासवर्ड द्वारा संरक्षित कीस्टोर का उपयोग करें।

यह ध्यान रखना महत्वपूर्ण है कि यह कठिन है मास्टर पासवर्ड को सुरक्षित रूप से संग्रहीत करने के लिए, लेकिन ये विधियाँ प्लेनटेक्स्ट को संग्रहीत करने की तुलना में कॉन्फ़िगरेशन फ़ाइलों में पासवर्ड की सुरक्षा को बढ़ा सकती हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3