ነጻ መለወጫ

UUID / GUID ጀነሬተር

በአሳሽዎ ውስጥ የ UUID v4 (GUID) እሴቶችን ወዲያውኑ ይፍጠሩ። ነፃ፣ ግላዊ እና ደንበኛ - ወደማንኛውም አገልጋይ የተላከ ምንም ውሂብ የለም።

ስላዚህ መሳሪያ

UUIDs (ዩኒቨርሳል ልዩ መለያዎች፣በማይክሮሶፍት አውድ ውስጥ GUIDs ተብለውም ይጠራሉ) 128-ቢት መለያዎች በችግሮች የመጋጨት እድሎች ባሉባቸው ስርዓቶች ውስጥ በተናጥል ሊፈጠሩ ይችላሉ። መደበኛው ቅጽ በ 8-4-4-4-12 ቡድኖች ውስጥ 32 ሄክስ ቁምፊዎች ነው, በሰረዝ (550e8400-e29b-41d4-a716-446655440000) ይለያል. በርካታ ስሪቶች ከተለያዩ የትውልድ ስልቶች ጋር ይኖራሉ; v4 (በዘፈቀደ) በጣም የተለመደ ነው።

v4 UUIDs ልዩነታቸውን የሚያገኙት ከ122 ቢት የዘፈቀደነት ነው (ስድስት ቢት ለስሪት እና ለተለዋዋጭ ተወስነዋል)። የግጭት ዕድሉ በጣም ትንሽ ስለሆነ ለተግባራዊ ዓላማ UUIDs ያለ ቅንጅት እንደ አለምአቀፍ ልዩ ሊወሰዱ ይችላሉ - ሁለት UUIDsን ለብቻቸው የሚያመነጩ ስርዓቶች በማንኛውም ተጨባጭ የጊዜ ስሌት ላይ ብዜቶችን አይፈጥሩም።

ይህ ጀነሬተር በመደበኛ አስራስድስትዮሽ-ከሃይፊን ቅርጸት v4 UUIDዎችን ያመርታል። የዘፈቀደነቱ የሚመጣው ከአሳሹ ክሪፕቶግራፊያዊ ደህንነቱ የተጠበቀ የዘፈቀደ ቁጥር ጀነሬተር (window.crypto.getRandomValues) ነው፣ ለደህንነት-sensitive ዓላማዎች። የጅምላ ማመንጨት ለሙከራ ዕቃዎች ወይም ለዘር ዳታቤዝ መሙላት ይደገፋል።

ለምን UUIDs አመነጩ

UUIDs የተከፋፈሉ ስርዓቶች ከማዕከላዊ ዳታቤዝ ጋር ሳይተባበሩ መለያዎችን እንዲያመነጩ ያስችላቸዋል። እያንዳንዱ አገልግሎት በአገር ውስጥ መታወቂያዎችን ያለ ዙር ጉዞ ወደ ቆጣሪ ማድረግ ይችላል፣ እና የተገኘው መታወቂያ ሌላ ቦታ ከተፈጠሩ መታወቂያዎች ጋር እንዳይጋጭ ዋስትና ተሰጥቶታል። ይህ መታወቂያ ማመንጨት ማነቆ ባልሆነበት ደረጃ ላይ ያሉ አርክቴክቸርዎችን ያስችላል።

UUIDs እንዲሁ መታወቂያዎችን የማይገመት ያደርገዋል። ተከታታይ የቁጥር መታወቂያዎች መረጃን ያፈሳሉ - አጠቃላይ የተጠቃሚ ብዛት፣ የመለያ ዕድሜ፣ የመመዝገቢያ ፍጥነት። UUIDs ምንም ነገር አይገልጡም። መታወቂያዎችን ለተጠቃሚዎች የሚያጋልጡ ኤፒአይዎች ለደህንነት እና ለወደፊት ተኳሃኝነት ከ UUIDs ከጥቅልል ጀርባዎች ይጠቀማሉ።

እንዴት ይጠቀሙ

ማመንጨትን ጠቅ ያድርጉ፣ v4 UUID ያግኙ።

  1. ቆጠራን ይምረጡ: በአንድ ጊዜ አንድ UUID ይፍጠሩ ወይም የሙከራ ውሂብ ለመሙላት እስከ ብዙ ሺዎች ድረስ በጅምላ ያመነጩ።
  2. ቅርጸት ይምረጡ: መደበኛ ቅርጸት ከሰረዞች (550e8400-e29b-41d4-a716-446655440000) ነባሪው ነው። የታመቀ (ምንም ሰረዝ የለም)፣ አቢይ ሆሄ እና በቅንፍ የታሸጉ {550e8400-...} ልዩነቶችም ቀርበዋል።
  3. ማመንጨት: የአሳሹ crypto.randomUUID() (ወይም crypto.getRandomValuesን በመጠቀም v4 መውደቅ) ትኩስ UUIDዎችን ይፈጥራል። እያንዳንዱ ትውልድ ራሱን የቻለ እና የማይወስን ነው።
  4. ቅዳ ወይም አውርድ: ነጠላ UUIDዎችን ወደ ቅንጥብ ሰሌዳ ይቅዱ ወይም የጅምላ ዝርዝሮችን እንደ ጽሑፍ ወይም CSV ያውርዱ።

የተለመዱ የአጠቃቀም ጉዳዮች

ቴክኒካዊ ዝርዝሮች

UUIDs 128 ቢት ናቸው፣ እንደ 32 ሄክሳዴሲማል አሃዞች በአምስት ቡድኖች በሃይፊን ተለያይተዋል። መቧደኑ (8-4-4-4-12) መዋቢያ ብቻ ነው; እሴቱ ነጠላ 128-ቢት ኢንቲጀር ነው። v4 UUIDs 122 ቢት የዘፈቀደነትን ኮድ ከቀሪዎቹ 6 ቢት ቋሚዎች ጋር፡ የስሪት መስክ (4 ቢት፣ እሴት 4) ልዩነቱን ይለያል።

የአሳሽ ድጋፍ፡ crypto.randomUUID() በዘመናዊ አሳሾች (Chrome 92+፣ Firefox 95+፣ Safari 15.4+) ይገኛል እና v4 UUIDs በቀጥታ ይሰራል። የቆዩ አሳሾች 16 የዘፈቀደ ባይት ከ crypto.getRandomValues ​​ከስሪት/ተለዋዋጭ ቢትስ በትክክል ከተቀናበረ በእጅ ወደ ማጣመር ይመለሳሉ።

የግጭት ዕድል፡ በ2^122 ሊሆኑ በሚችሉ የዘፈቀደ UUIDዎች፣ ሁለት ተመሳሳይ እሴቶችን የማመንጨት እድሉ እዚህ ግባ የሚባል አይደለም። በ10^9 UUIDs በሚመነጩት ጊዜ እንኳን፣ የአንድ ነጠላ የመጋጨት እድሉ በ10^-18 አካባቢ ነው - በምድር ላይ በዘፈቀደ አቶም ከመምረጥ 10 ትሪሊየን ጊዜ ያነሰ ነው።

ምርጥ ልምዶች

በተደጋጋሚ የሚጠየቁ ጥያቄዎች

UUID ምንድን ነው?
UUID (Universally Unique Identifier) በተዋዋይ ወገኖች መካከል ያለ ቅንጅት መረጃን በልዩ ሁኔታ ለመለየት የሚያገለግል ባለ 128-ቢት መለያ ነው። አንድ v4 UUID ይህን ይመስላል: 550e8400-e29b-41d4-a716-446655440000. በዓለም ዙሪያ በሁሉም ስርዓቶች ውስጥ ልዩ እንደሚሆን የተረጋገጠ ነው።
ሁለት UUIDዎች አንድ ዓይነት ይሆናሉ?
በንድፈ ሀሳብ ይቻላል ነገር ግን በተግባር የማይቻል። UUID v4 2^122 ሊሆኑ የሚችሉ እሴቶች አሉት (5.3 × 10^36)። የአንድ ጊዜ ግጭት 50% እድል እንዲኖርዎት ለ100 ዓመታት 1 ቢሊዮን UUIDs በሰከንድ ማመንጨት ያስፈልግዎታል።
UUIDs vs ራስ-መጨመር መታወቂያዎችን መቼ መጠቀም አለብኝ?
UUIDs ለተከፋፈሉ ስርዓቶች፣ ከመስመር ውጭ-የመጀመሪያ መተግበሪያዎች እና መታወቂያዎች መረጃን እንዲያሳዩ በማይፈልጉበት ጊዜ (እንደ የተጠቃሚ ብዛት) የተሻሉ ናቸው። ለዳታቤዝ መረጃ ጠቋሚ ራስ-ሰር መጨመር ቀላል፣ የበለጠ የታመቀ እና ፈጣን ነው።
እነዚህ UUIDs ምስጠራዊ ደህንነታቸው የተጠበቀ ናቸው?
ይህ መሳሪያ በምስጠራ ደህንነታቸው የተጠበቀ የዘፈቀደ ቁጥሮችን የሚሰጥ crypto.getRandomValues()ን ይጠቀማል። UUID v4 ለክፍለ-ጊዜ ቶከኖች እና ለዪዎች ተስማሚ ነው፣ ነገር ግን ለከፍተኛ ጥበቃ መተግበሪያዎች ዓላማ-የተገነቡ የማስመሰያ ጀነሬተሮችን ያስቡ።
ስለ UUID v5 ወይም v7ስ?
v5 በስም ቦታ ውስጥ ካለ ስም (ይዘት ሊደረስባቸው ለሚችሉ መታወቂያዎች ይጠቅማል) UUID ን ያገኛል። v7 (አዲስ፣ 2022) የቃላት ማዘዣ ለሚሊሰከንድ የጊዜ ማህተም ቅድመ ቅጥያ ያደርጋል። ይህ ጄነሬተር በ v4 ላይ ያተኩራል; አስፈላጊ ከሆነ የተወሰኑ ስሪቶችን ማከል ይችላሉ።
UUIDs ለጉዳይ ስሜታዊ ናቸው?
በዝርዝሩ፣ አይ — አቢይ ሆሄ እና ትንሽ ሄክስ እኩል ናቸው። አብዛኞቹ ጄነሬተሮች በነባሪ ትንሽ ሆሄ ያመርታሉ። ንጽጽር ለጉዳይ የማይሰማ መሆን አለበት።
በእኔ አሳሽ ውስጥ ትውልድ ተከናውኗል?
አዎ። UUIDs ከደንበኛ ወገን የሚመነጩት አሳሽ crypto APIsን በመጠቀም ነው።
UUIDዎችን በፍጥረት ጊዜ መደርደር እችላለሁ?
ለv4 አይደለም - የዘፈቀደ መዋቅሩ ለማዘዝ ጊዜ የለውም። ለጊዜ መደርደር UUIDs v7 ይጠቀሙ (ወይም ቀደም ሲል v1 የግላዊነት አንድምታ ከተቀበሉ)።