ठीक है यूआरएल शॉर्टिंग से आपका क्या मतलब है?
बहुत अलग तकनीकें हैं। अधिकांश वेबसाइटें, AFAIK, किसी भी स्थिति पर यूआरएल में डाटाबेस प्राथमिक कुंजी (शायद कुछ एन्कोडेड) रूप में डालने के लिए तकनीक का उपयोग करती है, जहां इसे नियमित अभिव्यक्ति द्वारा पार्स किया जा सकता है और केवल बाकी कीवर्ड को बढ़ाया जा सकता है। अमेज़न से
उदाहरण: http://www.amazon.de/Bauknecht-WA-PLUS-614-Waschmaschine/dp/B003V1JDU8/
आप उत्पाद के नाम के स्थान पर कुछ भी दर्ज कर सकते हैं, केवल अंत में आईडी महत्वपूर्ण है।
हालांकि आप अपने लिंक को साफ रखने के और देखें कि क्या यह सही है और वास्तविक URL 301 अग्रेषण करते हैं या एक प्रामाणिक URL डाल अगर एक गलत URL जाता कर सकते हैं।
हालांकि:
आप TinyURL की तरह कुछ करना चाहते हैं, मेरा उत्तर एक निश्चित नहीं है।
यह पर्याप्त नहीं है।
अच्छा यह निर्भर करता है।
यह "सुरक्षित" नहीं है। यूआरएल अनुमान लगाना बहुत आसान होगा। एक बेहतर दृष्टिकोण कुछ क्रिप्टोग्राफिक फ़ंक्शन जैसे SHA-1/MD5 का उपयोग करेगा।
जब टकराव की बात आती है तो मैं वास्तव में नहीं बता सकता। GUID को कोई टकराव नहीं बनाया गया था, लेकिन आप केवल पहले 6 वर्णों का उपयोग कर रहे हैं। मुझे नहीं पता कि वे वास्तव में एल्गोरिदम में क्या प्रतिनिधित्व करते हैं। लेकिन यह निश्चित रूप से इष्टतम नहीं है।
क्यों, आप केवल डेटाबेस ऑटो वृद्धि प्राथमिक कुंजी का उपयोग नहीं करते हैं? यदि सुरक्षा महत्वपूर्ण है तो आप निश्चित रूप से 6 से अधिक वर्णों के साथ भी जाते हैं।
एक परियोजना मैं मैं
/डेटाबेस प्राथमिक कुंजी/हैश के- प्राथमिक कुंजी-साथ-कुछ-टोकन या क्लाइंट-जानकारी/
इस तरह की तरह कुछ इस्तेमाल किया किया था पर मैं सीधे डेटाबेस में प्राथमिक कुंजी देख सकता था जो सबसे तेज़ संभव तरीका था लेकिन यह भी सत्यापित कर सकता था कि लिंक हैश द्वारा मजबूर ब्रूट द्वारा नहीं मिला था। मेरे मामले में हैश क्लाइंट के गुप्त टोकन और प्राथमिक कुंजी का SHA-1 योग था।
स्रोत
2011-01-01 14:04:25
उत्सुकता से, यूयूआईडी से परेशान क्यों? उदाहरण के लिए क्यों नहीं यादृच्छिक उदाहरण से 5 या तो बाइट उत्पन्न करते हैं? –
मैंने बुद्धिमानी को एक यादृच्छिक/System.nanoTime/मैक एड्रेस 'बिट शुरू किया, फिर एहसास हुआ कि यूयूआईडी में ये सब हैं :-) – Bozho
@ बोझो आप [बेस 32 एन्कोडिंग उर्फ क्रॉकफोर्ड एन्कोडिंग] पर विचार करना चाहेंगे [http: //www.crockford .com/wrmg/base32.html) क्योंकि इसमें 0 और अक्षर एल जैसे संभावित अस्पष्ट पात्रों को हटाने जैसे कुछ फायदे हैं। यदि आप अरबों नहीं हैं तो यह संभवतः सार्थक हो सकता है। –