5

यह एक नरम सवाल है, इस बारे में मुझे बताने में संकोच न करें कि इसके लिए कोई बेहतर जगह है या नहीं।उपयोगकर्ता अपेक्षाएं और यूनिकोड सामान्यीकरण

मैं कुछ कोड विकसित कर रहा हूं जो एक पासवर्ड स्वीकार करता है जिसके लिए अंतर्राष्ट्रीय पात्रों की आवश्यकता होती है - इसलिए मुझे एक इनपुट यूनिकोड स्ट्रिंग को एक संग्रहित यूनिकोड स्ट्रिंग के साथ तुलना करने की आवश्यकता होगी। काफी आसान।

मेरा प्रश्न यह है - अंतरराष्ट्रीय चरित्र सेट के उपयोगकर्ता आमतौर पर ऐसे मामले में सामान्यीकरण की अपेक्षा करते हैं? मेरी Google खोज 'हमेशा ऐसा करें' (http://unicode.org/faq/normalization.html) से 'परेशान न करें' से राय में कुछ संघर्ष दिखाती है। क्या सामान्य करने के लिए कोई पेशेवर/विपक्ष नहीं है? (यानी, पासवर्ड का अनुमान लगाने में कम संभावना, इत्यादि)

उत्तर

5

मैं अनुशंसा करता हूं कि यदि आपका पासवर्ड फ़ील्ड यूनिकोड इनपुट (संभवतः यूटीएफ -8 या यूटीएफ -16) स्वीकार करता है, तो आप इसे हैशिंग और तुलना करने से पहले सामान्यीकृत करते हैं। यदि आप इसे सामान्य नहीं करते हैं, और लोग इसे विभिन्न सिस्टम (विभिन्न ऑपरेटिंग सिस्टम, या अलग-अलग ब्राउज़र से अलग करते हैं, तो यह एक वेब ऐप है, या अलग-अलग लोकल के साथ) तक पहुंचते हैं, तो आपको अलग-अलग सामान्यीकरण के साथ समान पासवर्ड मिल सकता है। इसका मतलब यह होगा कि आपका उपयोगकर्ता सही पासवर्ड टाइप करेगा, लेकिन इसे अस्वीकार कर दिया है, और यह स्पष्ट नहीं होगा कि क्यों न ही इसे ठीक करने का कोई तरीका होगा।

+0

दाएं। एनएफडी फॉर्म में सबकुछ कनवर्ट करें और स्टोर करें। – tchrist

-3

मैं कुछ कारण के लिए परेशान नहीं होगा:

  1. आप चीजों को कम सुरक्षित बनाने के लिए जा रहे हैं। यदि आपके डीबी में दो या दो से अधिक वर्णों का प्रतिनिधित्व एक ही चीज़ के रूप में किया जाता है, तो इसका मतलब है कि साइट के लिए कम संभव पासवर्ड हैं। (हालांकि यह संभवतः एक बड़ा सौदा नहीं है, क्योंकि संभावित पासवर्ड की संख्या बहुत बड़ी है।)
  2. आप अपने प्रोग्राम में कोड तैयार करेंगे जो जटिल कार्य करता है जो संभवत: उस लाइब्रेरी का हिस्सा है जो आपने नहीं किया था लिखो ... और अंत में कोई परिणामस्वरूप लॉग इन नहीं कर पाएगा। चीजों को सरल रखने के लिए मेरे दिमाग में बेहतर है, और भरोसा है कि विभिन्न चरित्र सेटों का उपयोग करने वाले लोगों को पता है कि उन्हें सही तरीके से टाइप करना है। उस ने कहा, मैंने कभी इसे अंतर्राष्ट्रीय पासवर्ड फॉर्म में लागू नहीं किया है, इसलिए मैं आपको यह नहीं बता सका कि मानक डिजाइन पैटर्न क्या है।
संबंधित मुद्दे