Avatar ·

Java में पासवर्ड स्टोर करने के लिए String की बजाय char[] क्यों बेहतर है?

सभी को नमस्कार! मैं एक नौसिखिया Java डेवलपर हूँ और उपयोगकर्ता प्रमाणीकरण के लिए एक छोटा सा एप्लिकेशन लिख रहा हूँ। पासवर्ड के साथ काम करते समय मुझे सुरक्षा से संबंधित एक प्रश्न का सामना करना पड़ा। आमतौर पर मैं कंसोल या JPasswordField फ़ील्ड से पासवर्ड इनपुट करने के लिए String का उपयोग करता हूँ। उदाहरण के लिए: ```java Console console = System.console(); String password = new String(console.readPassword("पासवर्ड दर्ज करें: ")); ``` लेकिन हाल ही में एक फोरम पर मैंने पढ़ा कि पासवर्ड के लिए String का उपयोग करना एक बुरी प्रथा है, और char[] का उपयोग करना बेहतर है। सच कहूँ तो, मुझे अंतर समझ में नहीं आता। आखिरकार, String भी तो वर्णों का एक संग्रह है, ठीक char array की तरह। तो क्यों माना जाता है कि char[] अधिक सुरक्षित है? मैं समझता हूँ कि String immutable (अपरिवर्तनीय) है, लेकिन क्या यह कोई समस्या है? आखिरकार, पासवर्ड का उपयोग करने के बाद मैं वेरिएबल को null असाइन कर सकता हूँ, और garbage collector देर-सबेर मेमोरी से स्ट्रिंग को हटा देगा। क्या कोई सरल शब्दों में समझा सकता है कि यहाँ क्या दिक्कत है? और Java में पासवर्ड के साथ काम करने का सही तरीका क्या है? मैं आभारी रहूँगा।