የUUID ማመንጫ

መደበኛ UUIDዎችን በመስመር ላይ ያመነጩ። ይህ ገጽ ባለ 122 የዘፈቀደ ቢት እና የተለመደውን ባለ 36-ቁምፊ ቅርጽ ያለውን የዘፈቀደ UUID v4 ይጠቀማል።

ቅርጸት
የተፈጠሩ መታወቂያዎች
ዝግጁ ነው። በብሮውዘርዎ ውስጥ UUIDዎችን ያመነጩ።

ይህ መለያ (ID) እንዴት እንደሚገነባ

አቀማመጥ (Layout)
UUID v4፦ 8-4-4-4-12 የሄክሳዴሲማል ቡድኖች ከRFC ልዩነት ቢቶች ጋር።
ኤንትሮፒ (Entropy)
122 የዘፈቀደ ቢቶች፤ ስሪቱ እና ልዩነቱ ከ128-ቢት እሴት ውስጥ 6 ቢቶችን ይወስዳሉ።
ጊዜ
ምንም የጊዜ ማህተም ወይም የመሣሪያ መረጃ ኮድ አልተደረገም።
የግጭት ስጋት (Collision risk)
የ122 የዘፈቀደ ቢቶች የልደት ቀን ወሰን (birthday bound) ለተራ መተግበሪያ፣ ለሙከራ እና ለዳታቤዝ መለያዎች እዚህ ግባ የሚባል አይደለም።
ምሳሌ
7473b3da-5317-4533-96c1-c991e8188563

መታወቂያዎችዎ በጠንካራ የብሮውዘር የዘፈቀደነት በአገር ውስጥ ይመነጫሉ። ምንም ነገር ወደ BroBroGo አይላክም።

ተደጋግመው የሚነሱ ጥያቄዎች (FAQ)

ይህ ገጽ ምን ዓይነት UUID ያመነጫል?

የUUID v4 እሴቶችን ያመነጫል፦ መደበኛ ሰረዝ ያለው ቅርጽ ያላቸው የዘፈቀደ UUIDዎች። ያንኑ ሞተር በv4 ላይ ያተኮሩ ዝርዝሮች መጠቀም ሲፈልጉ የUUID v4 ገጽን ይጠቀሙ።

UUIDዎቹ ወደ አገልጋይ (server) ይላካሉ?

አይደለም። ማመንጨቱ በብሮውዘርዎ ውስጥ በWeb Crypto API አማካኝነት ስለሚከናወን እሴቶቹ በእርስዎ መሣሪያ ላይ ይቆያሉ።

የUUID v4 ማመንጨት ገጽ ምንድን ነው?

ይህ ገጽ አንድ ወይም ከዚያ በላይ የUUID v4 መለያዎችን ያመነጫል——እያንዳንዱ 36 ቁምፊ ያለው ዳይናሚክ ሕብረቁምፊ ሲሆን፣ ደረጃውን የጠበቀ 8-4-4-4-12 ባለስልሳ ሄክሳዴሲማል ቅርጸት ይከተላል። የሚፈልጉትን ብዛት እስከ 100 ድረስ መምረጥ፣ ከፍተኛ ሆሄ (uppercase) ወይም ዝቅተኛ ሆሄ (lowercase) እንዲሆን፣ እንዲሁም ሰረዝ (hyphens) እንዲኖር ወይም እንዳይኖር ማድረግ ይችላሉ። ሁሉም ትውልድ በቀጥታ በራስዎ አሳሽ ውስጥ ኃይለኛ የአሳሽ የዘፈቀደ ቁጥር አመንጪ (cryptographic pseudorandom number generator) በመጠቀም ይከናወናል። ምንም መረጃ ወደ አገልጋይ አይላክም፤ ሁሉም ነገር በአካባቢዎ ነው የሚሰራው። አንድ የተለየ UUID ለመቅዳት ሊጫኑት ይችላሉ፣ ወይም “ሁሉንም ቅዳ” (Copy all) የሚለውን ቁልፍ ተጠቅመው ሁሉንም የሚታዩትን UUIDዎች በአንድ ጊዜ መቅዳት ይችላሉ።

ይህ ገጽ ከሌሎች የሚለየው ምንድን ነው?

UUID v4 ከ122 ቢት የዘፈቀደ ቁጥር የተሠራ ነው። እንደ UUID v7 ወይም ULID ሳይሆን፣ የሰዓት ማህተም (timestamp) አልተካተተም። ይህ ማለት እያንዳንዱ UUID v4 ሙሉ በሙሉ ያልተጠበቀ ነው፤ የተወሰነ ጊዜ ላይ የመከሰቱ አጋጣሚ ከፍተኛ አይደለም። ሆኖም ግን፣ ይህ የሰዓት መረጃ አለመኖሩ በዳታቤዝ ውስጥ እንደ ዋና ቁልፍ (primary key) ሲጠቀሙ የጠረጴዛ ኢንዴክሶች ተበታትነው እንዲታዩ ያደርጋል (index fragmentation)። የUUID v4 ቁልፎች በዘፈቀደ ይደረደራሉ — ከጊዜ ጋር ምንም ግንኙነት የላቸውም። ይህ ገጽ የሚለየው በሚከተሉት ባህሪያት ነው፦

  • ከፍተኛ የዘፈቀደነት — 122 ቢት የዘፈቀደ ቁጥር ያስገኛል፤ ስለዚህ የሁለት UUIDዎች መደራረብ (collision) በአሳሳቢ ሁኔታ የማይቻል ነው።
  • በአካባቢ (local) ማመንጨት — ምንም ወደ አገልጋይ አይላክም፤ ስለዚህ የግላዊነት (privacy) ስጋት የለም።
  • ተለዋዋጭ ቅርጸት — ከፍተኛ ሆሄ መጠቀም፣ ሰረዝን ማስወገድ ይችላሉ።
  • ፈጣን ምላሽ — ማንኛውንም አማራጭ ሲቀይሩ ሁሉም UUIDዎች ወዲያውኑ እንደገና ይመነጫሉ።

ነባሪ (default) ውፅዓቱ ዝቅተኛ ሆሄ እና ሰረዞችን ያካትታል። ከፍተኛ ሆሄ ወይም ያለ ሰረዝ ከፈለጉ፣ ተገቢውን ማብሪያ በማብራት ማመንጨት ይችላሉ።

የግብዓት እና ውጤት አማራጮች

ግብዓቶች

ግብዓት መግለጫ
ቅርጸት (Format) UUID v4 ከሚከተሉት ውስጥ ይመረጣል፦ UUID v4፣ UUID v7፣ ULID፣ NanoID። ይህ መጣጥፍ የሚያተኩረው በUUID v4 ላይ ብቻ ነው።
ብዛት (Count) ከ1 እስከ 100 ያለ ኢንቲጀር።
ከፍተኛ ሆሄ (Uppercase) ማብሪያ፤ ነባሪው ዝቅተኛ ሆሄ (ጠፍቷል)።
ሰረዝን አካትት (Include hyphens) ማብሪያ፤ ነባሪው ሰረዝ አለ (በርቷል)።

ውጤቶች

  • የተፈጠሩ UUIDዎች — ዝርዝር ወይም አምድ በመልኩ ይታያሉ።
  • የUUIDዎች ብዛት — ከዝርዝሩ አጠገብ ይታያል።
  • ሁኔታ መልዕክቶች — “ዝግጁ” (Ready) መጀመሪያ፤ “ተፈጠረ” (Generated) ከተፈጠረ በኋላ፤ “ሁሉም ተቀድተዋል!” (Copied all!) ሁሉንም ከቀዱ በኋላ።

ማንኛውም የግብዓት አማራጭ ሲቀየር — ብዛቱን፣ ከፍተኛ ሆሄን፣ ወይም ሰረዝን ሲቀይሩ — አጠቃላይ የUUIDዎች ስብስብ ወዲያውኑ እንደገና ይፈጠራል። ከ100 በላይ ቁጥር ለማስገባት አይቻልም።

የUUID v4 ቴክኒካዊ ዝርዝር

UUID v4 በRFC 4122 ደረጃ ላይ የተመሰረተ ሲሆን፣ ከ122 ቢት የዘፈቀደ ውሂብ እና ከቋሚ 6 ቢት የስሪት (version) እና የልዩነት (variant) አመላካቾች የተሰራ ነው። ስለዚህ አጠቃላይ የ128 ቢት ሲሆን፣ 122 ቢት ደግሞ በእርግጥ የዘፈቀደ ነው። ይህ ከ2^122 የሚበልጥ የመደባለቅ ቦታ (search space) ይሰጣል። የሁለት ልዩ ጄኔሬተሮች ተመሳሳይ UUID የማመንጨት እድል ከ2^122 አንድ ነው፣ ይህም እጅግ በራዕይ ዝቅተኛ ነው።

ቅርጸቱ 8-4-4-4-12 ነው (ሰረዝ ሲኖረው) ማለትም 8 ሄክሳዴሲማል ቁምፊ፣ ሰረዝ፣ 4 ቁምፊ፣ ሰረዝ፣ 4 ቁምፊ፣ ሰረዝ፣ 4 ቁምፊ፣ ሰረዝ፣ 12 ቁምፊ። ይህ ድምር 32 ሄክሳዴሲማል ቁምፊ እና 4 ሰረዞችን ያካትታል። ሰረዞቹን ካስወገዱ፣ 32 ቁምፊ ብቻ ይቀራሉ። ከፍተኛ ወይም ዝቅተኛ ሆሄ ሲጠቀሙ፣ ተመሳሳይ የቢት ቅደም ተከተል ነው የሚቀርበው፤ ለአንባቢነት ብቻ የሚለወጠው ነው።

የዘፈቀደ ቁጥሩ በአሳሽ ውስጠኛ crypto.getRandomValues() ወይም ተመሳሳይ መመሪያ ይሰራል። እነዚህ እንደ Web Crypto API ያሉ መሣሪያዎች ጠንካራ ስታቲስቲካዊ ደህንነት ያላቸው ናቸው።

የአጠቃቀም መመሪያ እና ገደቦች

  1. ቅርጸቱን ወደ UUID v4 ያዘጋጁ (ሌሎች ቅርጸቶች የተለዩ አማራጮች አሏቸው)።
  2. ብዛት ያስገቡ — ከ1 እስከ 100 መሆን አለበት።
  3. ከፍተኛ ሆሄ ወይም ሰረዝ አማራጮችን እንደፍላጎትዎ ያዘጋጁ።
  4. የተፈጠሩት UUIDዎች የተዘረዘሩ ይታያሉ።
  5. አንድ የተለየ UUID ለመቅዳት በላዩ ላይ ጠቅ ያድርጉ።
  6. “ሁሉንም ቅዳ” (Copy all) የሚለውን ተጠቅመው ሁሉንም ያስተላልፉ።

ወሳኝ ነጥብ፦ የUUID v4 ን በዳታቤዝ ውስጥ እንደ ዋና ቁልፍ ሲጠቀሙ መጠንቀቅ አለብዎት። ምክንያቱም እነሱ በዘፈቀደ ስለሚደረደሩ፣ አዲስ መዝገብ ሲጨመር በዘፈቀደ ቦታ ላይ ይገባል፤ ይህ የB-tree ኢንዴክስ ፎላፎችን በማበታተን የአፈፃፀም ችግር ያስከትላል። አማራጭ እንደ UUID v7 (ከሰዓት ማህተም ጋር) ይመከራል ለዚህ አገልግሎት።

ይህ መሣሪያ ማን ያስፈልገዋል?

  • ገንቢዎች — ለደህንነት ቶከኖች፣ ለክፍለ-ጊዜ መለያዎች (session IDs)፣ ወይም ለየት የማይባሉ ተከታታይ ያልሆኑ ቁልፎች የሚፈልጉ።
  • የዳታቤዝ አስተዳዳሪዎች — የUUID v4 የኢንዴክስ ተጽእኖን አውቀው ቢጠቀሙም የማይጠበቅ ልዩነት ሊፈልጉ ይችላሉ።
  • የሙከራ መረጃ አዘጋጆች — የውሸት ውሂብ መስሪያ ወይም የስርዓት ሙከራ ሲሰሩ።
  • የውጪ (external) መለያ አወጣጥ — ከተጠቃሚዎች ጋር የማይገናኝ እና ሊተነበይ የማይችል ቁልፍ ሲፈለግ።

ተዘውተሩ የሚጠየቁ ጥያቄዎች (FAQ)

ጥያቄ፦ ሁለት ተመሳሳይ UUID v4 የማግኘት እድሉ ምን ያህል ነው?
መልስ፦ እድሉ በእጅጉ ዝቅተኛ ነው፤ በ122 ቢት የዘፈቀደ ቦታ ላይ፣ ሁለት የተለዩ መፍጠሪያዎች ተመሳሳይ ዋጋ የማምረት እድላቸው 1 ከ 2^122 ጋር እኩል ነው። በተግባር ግን የማይቻል ማለት ይቻላል።

ጥያቄ፦ ይህ ገጽ ወደ አገልጋይ መረጃ ይልካል?
መልስ፦ አይልክም። ሁሉም ትውልድ በአሳሽዎ ውስጥ ኃይለኛ በሆነው crypto ኤፒአይ ይከናወናል። ምንም ወደ አገልጋይ አይላክም።

ጥያቄ፦ ከ100 በላይ UUIDዎችን ማመንጨት እችላለሁ?
መልስ፦ አይችሉም። ገጹ ከ1 እስከ 100 ባለው ብዛት ብቻ የተገደበ ነው።

ጥያቄ፦ የUUID v4 እንደ ዋና ቁልፍ መጠቀም ለምን የኢንዴክስ መበታተን ያስከትላል?
መልስ፦ ምክንያቱም UUID v4 ከጊዜ ጋር ምንም ግንኙነት የለውም። አዲስ መዝገብ ሲጨመር፣ በዘፈቀደ ቦታ ላይ (በኢንዴክስ ዛፍ ውስጥ) ይገባል፤ ይህ ብዙ ጊዜ የB-tree ገፆችን መከፋፈል (page splits) ያስከትላል። በሺህ ወይም በሚሊዮን ሲቆጠሩ ደግሞ አፈጻጸሙን ይቀንሳል።

ጥያቄ፦ የእኔን ማስተካከያ (hyphens ወይም case) ስቀይር አዳዲስ UUIDዎች ይመነጫሉ?
መልስ፦ አዎ። ማንኛውም የግብዓት ለውጥ (count, uppercase, hyphens) የሙሉውን የUUID v4 ስብስብ እንደገና ያመነጫል።

ጥያቄ፦ የUUID v4 በሌሎች ቅርጸቶች እንደ UUID v7 ወይም ULID ሲወዳደር ምን ይጠቀማል?
መልስ፦ UUID v4 በሰፊው ደህንነት እና የማይተነበይ በመሆኑ ለቶከኖች እና ለውጫዊ መለያዎች ተመራጭ ነው። ዋናው ኪሳራው በዳታቤዝ ውስጥ ከኢንዴክስ አቀማመጥ አንጻር ነው።