UUID / GUID ጀነሬተር
በአሳሽዎ ውስጥ የ UUID v4 (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 ከጥቅልል ጀርባዎች ይጠቀማሉ።
ማመንጨትን ጠቅ ያድርጉ፣ v4 UUID ያግኙ።
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 ትሪሊየን ጊዜ ያነሰ ነው።