आपकी चिंता, कि "अधिकांश यूयूआईडी बेकार है और जगह बर्बाद कर रहा है" डेटा प्रकार के आकार के लिए अंतर्निहित है। आप अपने डेटाबेस में कभी भी उतनी प्रविष्टियां नहीं कर पाएंगे, जितनी सैद्धांतिक सीमा 16 बाइट्स की अनुमति देती है।पी>
वास्तव में, V1 UUID V4 की तुलना में अधिक उपयुक्त है यदि आप UUID का उपयोग केवल एक टेबल आईडी के रूप में करते हैं - क्योंकि यह संघर्ष को रोकने के लिए मैक-एड्रेस और टाइम स्टैम्प का उपयोग करता है। V4 में ऐसा कोई तंत्र नहीं है, हालांकि व्यावहारिक रूप से आपको संघर्षों के बारे में बहुत अधिक चिंता करने की आवश्यकता नहीं है :) यदि आपको अपने UUID को अप्रत्याशित होने की आवश्यकता है तो आपको V1 के बजाय V4 UUID का उपयोग करना चाहिए।
साथ ही, ध्यान दें कि उदाहरण के लिए 4x4 बाइट यादृच्छिक मानों की रचना 16 बाइट यादृच्छिक मान बनाने के समान नहीं हो सकती है। हमेशा क्रिप्टो और यादृच्छिकता के साथ:मैं आपके स्वयं के यूयूआईडी ::वी 4 रूटीन को लागू करने की सलाह नहीं दूंगा।
यदि आपकी मशीन पर स्थापित है, तो आप php-uuid
. का उपयोग कर सकते हैं पैकेज।
एक उदाहरण कोड (जिसका उपयोग आपके आवेदन में किया जा सकता है) यहां पाया जा सकता है:http://rommelsantor.com/clog/2012/02/23/generate-uuid-in-php/
इसे इस तरह इस्तेमाल करें:
$uuid = uuid_create(1);
जो उपयोगकर्ता अपने वेबसर्वर पर पैकेज स्थापित करने में सक्षम हैं, वे आवश्यक पैकेज स्थापित कर सकते हैं, जैसे:(उबंटू के लिए यहां)
apt-get install php5-dev uuid-dev
pecl install uuid