2009-08-20 15 views
6

हम प्रत्येक उपयोगकर्ता को उपनाम देना चाहते हैं ताकि हम उनकी पहचान की रक्षा करते समय चर्चाओं में उन्हें संदर्भित कर सकें। ये उपनाम अद्वितीय होना चाहिए।मैं उपयोगकर्ताओं के लिए अद्वितीय नकली नाम कैसे स्वतः उत्पन्न कर सकता हूं?

आसान तरीका बस एक सीरियल कॉलम का उपयोग करना होगा, लेकिन इनट्स यादगार नहीं हैं। हम वास्तविक लोगों के नामों का उपयोग करना चाहते हैं ताकि हम उपनाम याद कर सकें।

अन्य आसान तरीका कहीं भी पहले नामों की एक सूची ढूंढना होगा, उन्हें नंबर दें, और सूची से नाम लाने के लिए एक सीरियल का उपयोग करें। जब सूची समाप्त हो जाती है, तो और नाम जोड़ें।

लेकिन वहाँ कुछ चालाक रास्ता नाम के लिए ints मैप करने के लिए है?

वर्तमान में हमारे पास 2,000 उपयोगकर्ता हैं और बढ़ रहे हैं, लेकिन मुझे संदेह है कि हम कभी भी Google बन जाएंगे।

+0

आप नाम और सीरियल नंबर क्यों देख रहे हैं? कई साइटें लोगों को अपना स्वयं का उपनाम चुनने देती हैं। जब उपयोगकर्ता इसे चुनता है तो बस बताएं कि उपनाम क्या है और इसका खुलासा कैसे किया जाएगा। – TheJacobTaylor

+1

अच्छा सवाल! ये उपनाम आंतरिक उपयोग के लिए हैं (उदाहरण के लिए शोध परिणाम रिपोर्टिंग)। उपयोगकर्ता उन्हें कभी नहीं देख पाएंगे। –

उत्तर

0

"दिन" कंप्यूसर (या यह एओएल था?) में वापस अस्थायी, शुरुआती पासवर्ड को शब्दों की दो सूचियां और प्रत्येक सूची से एक शब्द लेकर और इसे एक साथ रखने के लिए उपयोग किया जाता था, इसलिए आपको कुछ मिल जाएगा EasyTomato या जो भी हो। शायद ऐसा कुछ आपके उपयोगकर्ता आधार के लिए काम करेगा। यदि प्रत्येक शब्द सूची में 256 वर्ण हैं, तो यह 65535 अद्वितीय संयोजन है (और ध्यान दें कि आप 16-बिट पूर्णांक को बढ़ाकर कितनी आसानी से संयोजन चुन सकते हैं)।

संपादित करें: ठीक है, सभी के बाद पूर्णांक की सीधी वृद्धि न करें, या पहले 256 लोगों को सभी समान शब्द मिलेंगे, लेकिन बुनियादी विचार अभी भी ध्वनि है। एक यादृच्छिक, अभी तक उपयोग नहीं किया गया 16-बिट संख्या चुनें। उच्च 8 बिट्स आपकी अनुक्रमणिका को पहली शब्द सूची में हैं, कम 8 बिट आपकी अनुक्रमणिका दूसरी शब्द सूची में हैं।

1

क्या आपने Hash functions को आजमाया है? मुझे यकीन नहीं है कि वे पोस्टग्रेज़ में उपलब्ध हैं या नहीं। लेकिन हाँ, ऐसा करने का एक तरीका है आंतरिक हैश फ़ंक्शन परवाह करें। वे अद्वितीय आईडी आउटपुट करेंगे।

7

यह पागल लग सकता है। लेकिन an algorithm गेम प्रोग्रामिंग में अर्थहीन लेकिन ध्वन्यात्मक अद्वितीय नाम जैसे अलवेolar, बिलाबियल, ग्लोटल, पातालल, वेल्लर बनाने के लिए उपयोग किया जाता है।