Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में स्ट्रिंग की तुलना में चार [] सरणी अधिक सुरक्षित (संवेदी डेटा स्टोर) क्यों है?

दोनों स्ट्रिंग और चार[] सरणी टेक्स्ट डेटा को स्टोर करने के लिए उपयोग किया जाता है लेकिन एक को दूसरे के ऊपर चुनना अधिक कठिन होता है। हो सकता है कि हम इस विचार को अपरिवर्तनीयता . से प्राप्त कर सकते हैं स्ट्रिंग क्यों char[] सरणी पासवर्ड . जैसे संवेदनशील जानकारी डेटा संग्रहीत करने के लिए स्ट्रिंग पर प्राथमिकता दी जाती है , एसएसएन, आदि.

  • सादे स्ट्रिंग का उपयोग करने से लॉग या कुछ अन्य असुरक्षित स्थानों पर गलती से पासवर्ड प्रिंट होने की संभावना बहुत अधिक होती है जहां char[] सरणी कम असुरक्षित . है ।
  • चूंकि स्ट्रिंग अपरिवर्तनीय है , ऐसी कोई विधि परिभाषित नहीं है जो हमें स्ट्रिंग की सामग्री को बदलने या अधिलेखित करने की अनुमति देती है। यह सुविधा स्ट्रिंग ऑब्जेक्ट को पासवर्ड . जैसी सुरक्षित जानकारी संग्रहीत करने के लिए अस्थिर बनाती है , एसएसएन, आदि। हमें हमेशा सुरक्षित जानकारी को स्ट्रिंग के बजाय चार [] सरणी में संग्रहीत करना चाहिए।
  • चूंकि स्ट्रिंग अपरिवर्तनीय है यदि हम पासवर्ड को सादे पाठ के रूप में संग्रहीत करते हैं तो यह स्मृति में तब तक उपलब्ध रहेगा जब तक कि कचरा कलेक्टर इसे साफ करता है। चूंकि स्ट्रिंग का उपयोग S . किया गया है ट्रिंग कॉन्सटेंट पूल (एससीपी) एक स्ट्रिंग की पुन:प्रयोज्यता के लिए, इस बात की काफी संभावना होगी कि यह लंबे समय तक स्मृति में रहेगा। चूंकि कोई भी व्यक्ति जिसके पास मेमोरी डंप तक पहुंच है, वह आसानी से सादे पाठ में पासवर्ड ढूंढ सकता है, इसलिए एक अन्य कारण को एन्क्रिप्ट का उपयोग करना चाहिए। पासवर्ड सादे पाठ की तुलना में।
  • अगर हम जावा स्विंग एप्लिकेशन में नोटिस करते हैं , JPasswordField . की एक विधि है पासवर्ड प्राप्त करें () जो char[] . लौटाते हैं और बहिष्कृत विधि getText() जो सादा पाठ में पासवर्ड लौटाते हैं। तो जावा स्वयं पासवर्ड प्राप्त करने की अनुशंसा करता है() विधि।
  • पासवर्ड को char[] सरणी में संग्रहीत करने का एक अन्य कारण , क्योंकि चार [] को साफ किया जा सकता है, उदाहरण के लिए, उपयोग के बाद जंक के साथ एक स्पष्ट पासवर्ड को ओवरराइड कर सकते हैं, जबकि स्ट्रिंग जावा में अपरिवर्तनीय है।

उदाहरण

public class SecureInfoData {
   public static void main(String args[]) {
      String pwd = "string_pass_word";
      System.out.println("String Password is: " + pwd);
      char charPwd[] = "char_pass_word".toCharArray();
      System.out.println("Character Password is: " + charPwd);
   }
}

आउटपुट

String Password is: string_pass_word
Character Password is: [C@6d06d69c

  1. 5 कारण क्यों स्मार्टफोन बेवकूफ फोन से ज्यादा सुरक्षित हैं

    इंटरनेट कनेक्टिविटी, ब्लूटूथ, अधिक पोर्ट, जीपीएस और अनगिनत ऐप्स के साथ, स्मार्टफोन एक गोपनीयता और सुरक्षा दुःस्वप्न हैं। लेकिन जरूरी नहीं कि आप डंबल फोन पर स्विच करके अपनी स्थिति में सुधार करें। यहां पांच ऐसे क्षेत्र दिए गए हैं जहां सुरक्षा के मामले में स्मार्टफोन का दबदबा है। 1. स्मार्टफ़ोन एन्क्

  1. Oracle में सुरक्षित संवेदनशील डेटा

    सामाजिक सुरक्षा नंबर, बैंक खाता और रूटिंग नंबर, और इसी तरह के अन्य डेटा जैसे संवेदनशील डेटा हासिल करने के लिए संगठनों को एक बड़ी चुनौती का सामना करना पड़ता है। परिचय विनियमों और कानूनों के लिए संगठनों को अपने स्वयं के डेटा और ग्राहक जानकारी को गलत हाथों में पड़ने से बचाने की आवश्यकता होती है। डेटा

  1. क्यों Android iPhone से अधिक लोकप्रिय है?

    Android और iPhone प्लेटफ़ॉर्म बेहतर स्क्रीन, प्रोसेसर चिप्स और कैमरों की कभी न खत्म होने वाली लड़ाई में रहे हैं। 2007 में, Apple ने टचस्क्रीन वाला पहला स्मार्टफोन पेश किया, जिसने बहुत से उपभोक्ताओं को आकर्षित किया। हालांकि, मूल्य सीमा के कारण, यह सभी के लिए वहनीय नहीं था। जब एंड्रॉइड 2008 में अस्ति