યુનિક આઈડેન્ટિફાયર જનરેટર માટે વૈશ્વિક ઉકેલ
વિવિધ એપ્લિકેશન્સ માટે વૈશ્વિક રીતે અનન્ય ઓળખપત્રો (UUIDs) જનરેટ કરો. વિતરણિત સિસ્ટમો, ડેટાબેસ અને વધુમાં ઉપયોગ માટે વર્ઝન 1 (સમય આધારિત) અને વર્ઝન 4 (યાદ્રૂક) UUIDs બનાવો.
યુઆઇડ જનરેટર
જનરેટ કરેલ યુઆઇડ
દસ્તાવેજીકરણ
UUID જનરેટર
પરિચય
યુનિવર્સલી યુનિક આઈડેન્ટિફાયર (UUID) 128-બિટ નંબર છે જે કમ્પ્યુટર સિસ્ટમોમાં માહિતી ઓળખવા માટે ઉપયોગમાં લેવાય છે. UUID ઓપન સોફ્ટવેર ફાઉન્ડેશન (OSF) દ્વારા વિતરિત કમ્પ્યુટિંગ પર્યાવરણ (DCE) ના ભાગ રૂપે માનકિત કરવામાં આવ્યા છે. આ ઓળખપત્રો જગ્યા અને સમય બંનેમાં અનન્ય રહેવા માટે ડિઝાઇન કરવામાં આવ્યા છે, જે તેમને વિતરિત સિસ્ટમો અને અન્યમાં વિવિધ એપ્લિકેશનો માટે આદર્શ બનાવે છે.
આ UUID જનરેટર ટૂલ તમને સંસ્કરણ 1 (સમય આધારિત) અને સંસ્કરણ 4 (યાદ્રુત) UUID બનાવવાની મંજૂરી આપે છે. આ ઓળખપત્રો વિવિધ પરિસ્થિતિઓમાં ઉપયોગી છે જ્યાં અનન્ય ઓળખની જરૂર હોય છે, જેમ કે ડેટાબેસ કી, વિતરિત સિસ્ટમો, અને નેટવર્ક પ્રોટોકોલ.
UUID કેવી રીતે કાર્ય કરે છે
UUID રચના
UUID સામાન્ય રીતે 32 હેક્સાડેસિમલ અંક તરીકે રજૂ કરવામાં આવે છે, જે પાંચ જૂથોમાં હાયફન દ્વારા અલગ કરવામાં આવે છે, 8-4-4-4-12 ના સ્વરૂપમાં કુલ 36 અક્ષરો (32 અક્ષરીય અંક અને 4 હાયફન) છે. ઉદાહરણ તરીકે:
1550e8400-e29b-41d4-a716-446655440000
2
UUID ના 128 બિટને ખાસ ક્ષેત્રોમાં વહેંચવામાં આવે છે, દરેક UUID સંસ્કરણના આધારે વિવિધ માહિતી ધરાવે છે:
- 32 બિટ માટે time_low ક્ષેત્ર
- 16 બિટ માટે time_mid ક્ષેત્ર
- 16 બિટ માટે time_hi_and_version ક્ષેત્ર
- 8 બિટ માટે clock_seq_hi_and_reserved ક્ષેત્ર
- 8 બિટ માટે clock_seq_low ક્ષેત્ર
- 48 બિટ માટે node ક્ષેત્ર
અહીં UUID રચનાનો આકાર દર્શાવતો એક આકૃતિ છે:
UUID સંસ્કરણો
UUID ના ઘણા સંસ્કરણો છે, દરેકની પોતાની જનરેશન પદ્ધતિ છે:
- સંસ્કરણ 1 (સમય આધારિત): વર્તમાન સમય અને કમ્પ્યુટરના MAC સરનામાનો ઉપયોગ કરે છે.
- સંસ્કરણ 2 (DCE સિક્યોરિટી): સંસ્કરણ 1 ની સમાન, પરંતુ સ્થાનિક ડોમેન ઓળખપત્રને શામેલ કરે છે.
- સંસ્કરણ 3 (નામ આધારિત, MD5): એક નામ અને નામને હેશ કરીને બનાવવામાં આવે છે.
- સંસ્કરણ 4 (યાદ્રુત): યાદ્રુત અથવા છદ્મ-યાદ્રુત નંબરનો ઉપયોગ કરીને બનાવવામાં આવે છે.
- સંસ્કરણ 5 (નામ આધારિત, SHA-1): સંસ્કરણ 3 ની સમાન, પરંતુ SHA-1 હેશિંગનો ઉપયોગ કરે છે.
આ ટૂલ સંસ્કરણ 1 અને સંસ્કરણ 4 UUID બનાવવામાં કેન્દ્રિત છે.
ફોર્મ્યુલા
સંસ્કરણ 1 UUID જનરેશન
સંસ્કરણ 1 UUID ની જનરેશન માટે નીચેના ઘટકોનો ઉપયોગ કરવામાં આવે છે:
- ટાઈમસ્ટેમ્પ: 60-બિટ મૂલ્ય જે 15 ઓક્ટોબર 1582 (ક્રિસ્તીયન કેલેન્ડર માટે ગ્રેગોરિયન સુધારાના તારીખ) થી 100-નાનોસેકન્ડ અંતરાલોની સંખ્યા દર્શાવે છે.
- ઘડિયાળ અનુક્રમણિકા: 14-બિટ મૂલ્ય જે ઘડિયાળ પાછળ જવા પર ડુપ્લિકેટ્સને ટાળવા માટે ઉપયોગમાં લેવાય છે.
- નોડ: 48-બિટ મૂલ્ય, સામાન્ય રીતે કમ્પ્યુટરના MAC સરનામાથી વ્યાખ્યાયિત થાય છે.
સંસ્કરણ 1 UUID જનરેટ કરવા માટેનો ફોર્મ્યુલા નીચે મુજબ છે:
1UUID = (timestamp * 2^64) + (clock_sequence * 2^48) + node
2
સંસ્કરણ 4 UUID જનરેશન
સંસ્કરણ 4 UUID એક ક્રિપ્ટોગ્રાફિક રીતે મજબૂત યાદ્રુત નંબર જનરેટરનો ઉપયોગ કરીને બનાવવામાં આવે છે. ફોર્મ્યુલા સરળ છે:
1UUID = random_128_bit_number
2
વિશિષ્ટ બિટ્સને સંસ્કરણ (4) અને વેરિયન્ટ દર્શાવવા માટે સેટ કરવામાં આવે છે.
ઉપયોગ કેસ
UUIDs વિભિન્ન કમ્પ્યુટર વિજ્ઞાન અને સોફ્ટવેર એન્જિનિયરિંગ ક્ષેત્રોમાં અનેક એપ્લિકેશનો ધરાવે છે:
-
ડેટાબેસ કી: UUIDs સામાન્ય રીતે ડેટાબેસમાં પ્રાથમિક કી તરીકે ઉપયોગમાં લેવાય છે, ખાસ કરીને વિતરિત સિસ્ટમોમાં જ્યાં અનેક નોડ્સ સમાન સમયે રેકોર્ડ જનરેટ કરી શકે છે.
-
વિતરિત સિસ્ટમો: મોટા પાયે વિતરિત સિસ્ટમોમાં, UUIDs અનેક નોડ્સ અથવા ડેટા કેન્દ્રોમાં સંસાધનો, વ્યવહારો, અથવા ઘટનાઓને અનન્ય રીતે ઓળખવામાં મદદ કરે છે.
-
સામગ્રી સરનામું: UUIDs સામગ્રીને અનન્ય ઓળખપત્રો બનાવવા માટે ઉપયોગમાં લેવાય શકે છે જે સામગ્રી સરનામું ધરાવતી સંગ્રહણ પ્રણાળીઓમાં છે.
-
સત્ર વ્યવસ્થાપન: વેબ એપ્લિકેશનો ઘણીવાર યુઝર સત્રોને વ્યવસ્થાપિત કરવા માટે UUIDs નો ઉપયોગ કરે છે, દરેક સત્રને અનન્ય ઓળખપત્ર મળે છે.
-
IoT ઉપકરણ ઓળખ: ઈન્ટરનેટ ઓફ થિંગ્સ (IoT) એપ્લિકેશનોમાં, UUIDs નેટવર્કમાં વ્યક્તિગત ઉપકરણોને અનન્ય રીતે ઓળખવા માટે ઉપયોગમાં લેવાય શકે છે.
વૈકલ્પિક
જ્યારે UUIDs વ્યાપકપણે ઉપયોગમાં લેવાય છે, ત્યારે અનન્ય ઓળખપત્રો બનાવવા માટે વૈકલ્પિક પદ્ધતિઓ છે:
-
ઓટો-ઇન્ક્રિમેન્ટિંગ ID: એક સરળ અને એકલ-ડેટાબેસ સિસ્ટમોમાં સામાન્ય રીતે ઉપયોગમાં લેવાય છે, પરંતુ વિતરિત પર્યાવરણો માટે યોગ્ય નથી.
-
ટાઈમસ્ટેમ્પ આધારિત ID: સમય-ક્રમિત ડેટા માટે ઉપયોગી હોઈ શકે છે પરંતુ ઉચ્ચ-સંબંધિત પરિસ્થિતિઓમાં ટકરાવની સમસ્યાઓનો સામનો કરી શકે છે.
-
સ્નોફ્લેક ID: ટ્વિટર દ્વારા વિકસિત, આ ID ટાઈમસ્ટેમ્પ અને વર્કર નંબરને સંયોજિત કરીને વિતરિત સિસ્ટમોમાં અનન્ય ID જનરેટ કરે છે.
-
ULID (યુનિવર્સલી યુનિક લેક્સિકોગ્રાફિકલી સોર્ટેબલ આઈડેન્ટિફાયર): એક વધુ નવીન વૈકલ્પિક જે UUIDs કરતાં વધુ માનવ-મૈત્રીપૂર્ણ અને સોર્ટેબલ હોવાનો ઉદ્દેશ રાખે છે.
ઇતિહાસ
UUIDs નો વિચાર પ્રથમ એપોલો નેટવર્ક કમ્પ્યુટિંગ સિસ્ટમમાં રજૂ કરવામાં આવ્યો હતો અને પછી 1990ના દાયકામાં ઓપન સોફ્ટવેર ફાઉન્ડેશન (OSF) દ્વારા માનકિત કરવામાં આવ્યો હતો. પ્રાથમિક સ્પષ્ટીકરણ 1997માં ISO/IEC 11578:1996 તરીકે પ્રકાશિત કરવામાં આવ્યું અને 2005માં ISO/IEC 9834-8:2005 ના ભાગ રૂપે સુધારવામાં આવ્યું.
UUID ઇતિહાસમાં મુખ્ય મીલપથ:
- 1980ના દાયકામાં: એપોલો કમ્પ્યુટર તેમના નેટવર્ક કમ્પ્યુટિંગ સિસ્ટમ માટે UUID વિચારો વિકસાવે છે.
- 1997: પ્રથમ UUID સ્પષ્ટીકરણ ISO/IEC 11578:1996 તરીકે પ્રકાશિત થયું.
- 2005: UUID સ્પષ્ટીકરણ સુધારવામાં આવ્યું અને ISO/IEC 9834-8:2005 ના ભાગરૂપે પ્રકાશિત થયું.
- 2009: RFC 4122 UUID ફોર્મેટ અને જનરેશન અલ્ગોરિધમને વ્યાખ્યાયિત કરે છે જે આજકાલ ઉપયોગમાં છે.
સમય સાથે, UUIDs વિતરિત સિસ્ટમો અને ડેટાબેસ ડિઝાઇનમાં એક મહત્વપૂર્ણ ટૂલ બની ગયા છે, વિવિધ કાર્યક્રમન ભાષાઓ અને પ્લેટફોર્મોમાં વિવિધ અમલ અને અનુકૂળતાઓ સાથે.
કોડ ઉદાહરણો
અહીં વિવિધ કાર્યક્રમન ભાષાઓમાં UUIDs જનરેટ કરવાની ઉદાહરણો છે:
1import uuid
2
3## સંસ્કરણ 4 (યાદ્રુત) UUID જનરેટ કરો
4random_uuid = uuid.uuid4()
5print(f"સંસ્કરણ 4 UUID: {random_uuid}")
6
7## સંસ્કરણ 1 (સમય આધારિત) UUID જનરેટ કરો
8time_based_uuid = uuid.uuid1()
9print(f"સંસ્કરણ 1 UUID: {time_based_uuid}")
10
1const { v1: uuidv1, v4: uuidv4 } = require('uuid');
2
3// સંસ્કરણ 4 (યાદ્રુત) UUID જનરેટ કરો
4const randomUuid = uuidv4();
5console.log(`સંસ્કરણ 4 UUID: ${randomUuid}`);
6
7// સંસ્કરણ 1 (સમય આધારિત) UUID જનરેટ કરો
8const timeBasedUuid = uuidv1();
9console.log(`સંસ્કરણ 1 UUID: ${timeBasedUuid}`);
10
1import java.util.UUID;
2
3public class UuidGenerator {
4 public static void main(String[] args) {
5 // સંસ્કરણ 4 (યાદ્રુત) UUID જનરેટ કરો
6 UUID randomUuid = UUID.randomUUID();
7 System.out.println("સંસ્કરણ 4 UUID: " + randomUuid);
8
9 // સંસ્કરણ 1 (સમય આધારિત) UUID જનરેટ કરો
10 UUID timeBasedUuid = UUID.fromString(new com.eaio.uuid.UUID().toString());
11 System.out.println("સંસ્કરણ 1 UUID: " + timeBasedUuid);
12 }
13}
14
1require 'securerandom'
2
3## સંસ્કરણ 4 (યાદ્રુત) UUID જનરેટ કરો
4random_uuid = SecureRandom.uuid
5puts "સંસ્કરણ 4 UUID: #{random_uuid}"
6
7## રૂબીમાં સંસ્કરણ 1 UUID માટે બિલ્ટ-ઇન પદ્ધતિ નથી
8## તે માટે 'uuidtools' જેવી જીમનો ઉપયોગ કરવાની જરૂર છે
9
1<?php
2// સંસ્કરણ 4 (યાદ્રુત) UUID જનરેટ કરો
3$randomUuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
4 mt_rand(0, 0xffff), mt_rand(0, 0xffff),
5 mt_rand(0, 0xffff),
6 mt_rand(0, 0x0fff) | 0x4000,
7 mt_rand(0, 0x3fff) | 0x8000,
8 mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
9);
10echo "સંસ્કરણ 4 UUID: " . $randomUuid . "\n";
11
12// PHP માં સંસ્કરણ 1 UUID માટે બિલ્ટ-ઇન પદ્ધતિ નથી
13// તે માટે 'ramsey/uuid' જેવી લાઇબ્રેરીનો ઉપયોગ કરવાની જરૂર છે
14?>
15
સંદર્ભો
- લિચ, પી., મીલ્લિંગ, એમ., & સેલ્ઝ, આર. (2005). A Universally Unique IDentifier (UUID) URN Namespace. RFC 4122. https://tools.ietf.org/html/rfc4122
- આંતરરાષ્ટ્રીય સંસ્થાન માટે માનકકરણ. (2005). માહિતી ટેકનોલોજી – ઓપન સિસ્ટમ્સ ઇન્ટરકનેક્શન – OSI નોંધણી સત્તાધિકારીઓના કાર્ય માટેની પદ્ધતિઓ: યુનિવર્સલી યુનિક આઈડેન્ટિફાયર્સ (UUIDs) ની જનરેશન અને નોંધણી અને તેનાં ASN.1 ઓબ્જેક્ટ આઈડેન્ટિફાયર ઘટકો તરીકે ઉપયોગ. ISO/IEC 9834-8:2005. https://www.iso.org/standard/62795.html
- યુનિવર્સલી યુનિક આઈડેન્ટિફાયર. (2023). વિકીપીડિયા માં. https://en.wikipedia.org/wiki/Universally_unique_identifier
- સ્નોફ્લેક ID. (2023). વિકીપીડિયા માં. https://en.wikipedia.org/wiki/Snowflake_ID
- ULID સ્પષ્ટીકરણ. (n.d.). GitHub. https://github.com/ulid/spec
પ્રતિસાદ
આ ટૂલ વિશે પ્રતિસાદ આપવા માટે પ્રતિસાદ ટોસ્ટ પર ક્લિક કરો
સંબંધિત ટૂલ્સ
તમારા કાર્યપ્રવાહ માટે ઉપયોગી હોઈ શકે એવા વધુ ટૂલ્સ શોધો