[Java] JPasswordField में क्यों getText () को बहिष्कृत किया गया था?


Answers

इसका कारण यह है कि यदि आप पासवर्ड को एक अक्षर के बजाय स्ट्रिंग मानते हैं, तो यह स्ट्रिंग जिसमें पासवर्ड है, अब कुछ अनिर्दिष्ट मात्रा के लिए जावा रनटाइम मेमोरी में फ्लोट करने जा रहा है। यह एक दुष्ट जावा घटक या बाह्य कार्यक्रम द्वारा अवश्य ही पढ़ा जा सकता है।

बजाय एक चार सरणी का उपयोग करके, आप पासवर्ड की पुष्टि कर सकते हैं और फिर इसे तुरंत हाथापाई कर सकते हैं।

Question

मैं पहले कभी नहीं सोचा था, केवल मैंने विधि getPassword इस्तेमाल किया है कि वर्णों की एक सरणी लौट रहा है और मैंने देखा था कि getPassword विधि नापसंद थी । लेकिन अब मुझे लगता है कि, इस विधि को क्यों नापसंद किया गया ?

जावा प्रलेखन बताते हैं:

पदावनत जावा 2 प्लेटफॉर्म v1.2 के अनुसार, getPassword द्वारा प्रतिस्थापित किया getPassword

घटक द्वारा प्रस्तुत पाठ का एक भाग प्राप्त करता है अगर लंबाई 0 है तो रिक्त स्ट्रिंग देता है

सुरक्षा कारणों से, इस विधि को हटा दिया गया है। इसके बजाय getPassword विधि का उपयोग करें।

लेकिन उन सुरक्षा कारणों से क्या हैं? इस बारे में कोई विचार?

पहले ही, आपका बहुत धन्यवाद।




इसे इस्तेमाल करे :

String myPass=String.valueOf(passwordField.getPassword());