2012-09-21 27 views
14

में उपयोगकर्ता नाम और पासवर्ड को सहेजने के लिए एनएसयूसर डीफॉल्ट या कीचेन बेहतर है मेरे आईफोन ऐप में उपयोगकर्ता नाम, पासवर्ड और कुछ यूआरएल जैसे किसी गोपनीय डेटा हैं। कौन सा बेहतर NSUserdefaults या कीचेन है। कोई कहता है कि NSUserdefaults असुरक्षित है। यह असुरक्षित क्यों है? और क्या कोई भी प्रत्येक के पेशेवरों और विपक्ष को दे सकता है।आईएसओ ऐप

उत्तर

15

NSUserDefaults उपयोग करने में काफी आसान है और केवल एक मान प्रति कुंजी स्टोर करता है। लेकिन जाहिर है, यह एक बहुत ही सुरक्षित तरीका नहीं है, क्योंकि कोई एन्क्रिप्शन नहीं है।

लेकिन कीचेन सुरक्षित है, हालांकि यह कोड के लिए थोड़ा मुश्किल है। आप इन लिंक को कीचेन एक्सेस का उपयोग करने के लिए संदर्भित कर सकते हैं।

http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code

आप भी इस पुस्तकालय साइमन

https://github.com/goosoftware/GSKeychain

द्वारा deviced मुझे आशा है कि यह आप में मदद करता है का उपयोग कर सकते !!

6

NSUserDefaults में संग्रहीत कुछ भी (अपेक्षाकृत) आसानी से खोला और पढ़ा जा सकता है, चाहे डिवाइस पर या iCloud पर या एक सिंक किए गए मैक में (गैर-एन्क्रिप्टेड) ​​बैकअप में हो।

Keychain, on the other hand, is meant for stuff like certificates and passwords। मैंने "आईओएस में पासवर्ड कैसे स्टोर न करें" नामक एक लेख को जोड़ा है जो कुछ और उपयोगी जानकारी देता है।

0

कीचेन बेहतर समाधान है, क्योंकि यह अधिक सुरक्षित है, लेकिन फिर भी, यदि आप इस तरह की जानकारी एनएसयूसर डीफॉल्ट में सहेज लेंगे, तो आपके उपयोगकर्ता कुछ अलग नहीं महसूस करेंगे। अगर कोई अपने डिवाइस को हैक कर देगा, तो वे कीचेन से जानकारी प्राप्त कर सकते हैं, वैसे ही उन्हें UserDefaults से जानकारी प्राप्त होगी। तो सुरक्षा का यह सवाल अशिष्ट है। लेकिन वैसे भी, अच्छी प्रोग्रामिंग शैली इस डेटा को कीचेन में सहेजना है!

0

मैं आपको कीचेन्स का उपयोग करने की सलाह दूंगा। कीचेन का उपयोग करके, आप अपना पासवर्ड एन्क्रिप्टेड रूप में संग्रहीत कर सकते हैं। ऐप्पल के GenericKeychain नमूना पर एक नज़र डालें।

NSUserDefaults Keychain की तुलना में थोड़ा कम सुरक्षित है। NSUserDefaults डेटा में विशिष्ट कुंजी ज्ञात होने पर आसानी से पहुंचा जा सकता है। कीचेन में यह मामला नहीं है।

आप NSUserDefaults को Keychains में भी परिवर्तित कर सकते हैं। एक नज़र डालेंhere

+0

* NSUserDefaults डेटा में विशिष्ट कुंजी ज्ञात होने पर आसानी से पहुंचा जा सकता है। Keychain * में यह मामला नहीं है। इससे तुम्हारा क्या मतलब? – Honey

10

यह नोटिस करने के लिए कीचेन डेटा कायम थीं कि हो जाएगा भले ही आप एप्लिकेशन हटा दी जाती है, लेकिन NSUserDefaults डेटा app के साथ दूर जाना होगा उपयोगी हो सकता है (NSUserDefaults एप्लिकेशन सैंडबॉक्स का हिस्सा है, कीचेन एप्लिकेशन-स्वतंत्र सेवा है)।