मैं वर्तमान में JavaFX सीख रहा हूँ और मैं एक छोटा सा तथ्य JavaFX में PasswordField कोई विधि है जो एक चार या पासवर्ड की भी बाइट सरणी देता है के बारे में उलझन में हूँ। इसके बजाय मुझे getText() का उपयोग करना होगा जो स्ट्रिंग देता है।जावाएफएक्स पासवर्डफिल्ड स्ट्रिंग के रूप में सामग्री को क्यों लौटाता है?
जैसा कि आप here स्विंग पढ़ सकते हैं, स्विंग ने getText() विधि को चित्रित करने के लिए चिह्नित किया है और प्रोग्रामर को getPassword() का उपयोग करने के लिए कहता है, जो एक चार सरणी देता है।
यदि मैं सही तरीके से अनावश्यक करता हूं, तो चार सरणी बहुत सुरक्षित हैं क्योंकि आप उन्हें सभी मानों को 0 पर सेट करके पूरी तरह से राम से मिटा सकते हैं। फिर ओरेकल ने JavaFx में तारों का उपयोग करने का निर्णय क्यों लिया? ढेर से तार हटाने के लिए कोई नया तरीका है?
संपादित करें: जहाँ तक मुझे पता है चार पासवर्ड क्योंकि हम उन्हें जब कभी हम चाहते हैं (उन्हें अधिलेखित) जो स्ट्रिंग्स के लिए मामला नहीं है हटा सकते हैं, दूर सेवर कर रहे हैं।
ऐसा लगता है कि आप की तरह बोल रहे हैं उसके कोई 'getPassword()' विधि, केवल एक 'gettext()' विधि है, जो आप पढ़ा है हाल ही में मान्य नहीं है। क्या आप एक पुरानी जावाएफएक्स लिब का उपयोग कर रहे हैं? यह समझा सकता है कि आपको यह विधि क्यों नहीं दिखाई दे रही है – mmcrae
@mmcrae नहीं, JavaFX 8 में पासवर्ड फ़ील्ड को कोई तरीका नहीं है पासवर्ड विधि, जैसा कि आप यहां देख सकते हैं: [link] (https://docs.oracle.com/javase/8 /javafx/api/toc.htm) – Brotcrunsher
मैं नहीं कहूंगा कि चार सरणी ** दूर ** सुरक्षित हैं। आप डेटा प्रकार के बावजूद वीएम की मेमोरी स्पेस में काम कर रहे हैं। इस [संबंधित पोस्ट] पर एक नज़र डालें (http://stackoverflow.com/questions/29368926/safe-way-to-get-password-from-passwordfield-in-javafx) और अधिक जानकारी के लिए इसकी टिप्पणियां। – OttPrime