UUID გენერატორი
შექმენით შემთხვევითი UUID მნიშვნელობები აპებისთვის, მონაცემთა ბაზებისთვის და ტესტებისთვის.
დეველოპერის ინსტრუმენტი
შექმენით UUID მყისიერად და დააკოპირეთ იგი განვითარებისთვის ან ტესტირებისთვის.
შექმენით შემთხვევითი UUID მნიშვნელობები აპებისთვის, მონაცემთა ბაზებისთვის და ტესტებისთვის.
განაგრძეთ სამუშაო პროცესი ახლომდებარე დეველოპერებთან და მონაცემთა უტილიტებთან.
დააჭირეთ გენერირება-ს და გამოტანის ველში მყისიერად გამოჩნდება ახალი მე-4 ვერსიის UUID, მზად წასაკითხად ან გამოსაყენებლად. დააჭირეთ კოპირება-ს, რომ ის ბუფერში მოათავსოთ და ჩასვათ პირდაპირ კოდში, მონაცემთა ბაზის სტრიქონში, კონფიგურაციის ფაილში ან სატესტო მონაცემებში. ყოველი დაჭერა ქმნის სრულიად ახალ შემთხვევით მნიშვნელობას, ამიტომ შეგიძლიათ მიიღოთ იმდენი იდენტიფიკატორი ზედიზედ, რამდენიც გჭირდებათ, და არცერთი არ გამეორდება. აქ არაფერია წინასწარ შევსებული და არც პარამეტრებია გასამართი: ინსტრუმენტი აკეთებს ერთ საქმეს და აკეთებს მაშინ, როცა ამას სთხოვ.
UUID (უნივერსალური უნიკალური იდენტიფიკატორი), Microsoft-ის პლატფორმებზე GUID-ადაც წოდებული, არის 128-ბიტიანი რიცხვი, შექმნილი ისე, რომ ნებისმიერმა ადამიანმა ნებისმიერ ადგილას შეძლოს მისი შექმნა ცენტრალურ რეესტრში მიმართვის გარეშე და დარწმუნებული იყოს, რომ ის სხვის მნიშვნელობას არ დაემთხვევა. სწორედ ეს თვისება ხდის UUID-ებს შეუცვლელს განაწილებულ სისტემებში: ორ სერვერს, რომლებსაც არასოდეს მოუხდენიათ მონაცემთა გაცვლა, თითოეულს შეუძლია შექმნას იდენტიფიკატორი და უსაფრთხოდ ჩათვალოს, რომ შედეგები განსხვავებულია. მე-4 ვერსიის UUID ამას აღწევს წმინდა შემთხვევითობით და არა შეთანხმებით. მისი 128 ბიტიდან 6 დაცულია ვერსიისა და ვარიანტის ჩასაწერად, ხოლო დარჩენილი 122 ბიტი ნამდვილად შემთხვევითია — სწორედ აქედან მოდის მისამართთა სივრცის ასტრონომიული ზომა.
UUID ყოველთვის იწერება 32 თექვსმეტობითი ციფრის სახით, რომლებიც დეფისებით იყოფა ხუთ ჯგუფად. ვერსიისა და ვარიანტის ციფრები ფიქსირებულ პოზიციებზე დგას, ამიტომ თავად ჩანაწერით შეგიძლიათ გაიგოთ, როგორ შეიქმნა UUID. ქვემოთ მოცემულ ცხრილში თავმოყრილია ფორმატები და ვერსიები, რომლებსაც ყველაზე ხშირად შეხვდებით.
| მახასიათებელი | აღწერა | მაგალითი |
|---|---|---|
| ფორმატი | 32 hex ციფრი, ჯგუფები 8-4-4-4-12 | 550e8400-e29b-41d4-a716-446655440000 |
| ვერსია 1 | დროზე დაფუძნებული: დროის ნიშნული პლუს MAC მისამართი | ...-11d4-... (ციფრი 1) |
| ვერსია 4 | შემთხვევითი: 122 შემთხვევითი ბიტი (ეს ინსტრუმენტი) | ...-41d4-... (ციფრი 4) |
| ვერსიის ციფრი | მესამე ჯგუფის პირველი სიმბოლო | 4 v4-ისთვის |
| ვარიანტის ციფრი | მეოთხე ჯგუფის პირველი სიმბოლო | 8, 9, a ან b |
| სულ მნიშვნელობა (v4) | 2^122 ვარიანტი | ~5,3 undecillion |
დეფისები და დაჯგუფება მხოლოდ წაკითხვის სიმარტივისთვისაა, მაგრამ ისინი კანონიკური ტექსტური ფორმის ნაწილია და უმეტესი ანალიზატორი მათ მოელის.
ავიღოთ 550e8400-e29b-41d4-a716-446655440000. ჯგუფების დათვლა გვაძლევს 8, 4, 4, 4 და 12 თექვსმეტობით ციფრს. მესამე ჯგუფი არის 41d4, და მისი წინა 4 გეუბნებათ, რომ ეს მე-4 ვერსიის (შემთხვევითი) UUID-ია. მეოთხე ჯგუფი არის a716, და მისი წინა a არის ვარიანტის მარკერი, რომელიც ამბობს, რომ მნიშვნელობა მისდევს სტანდარტულ RFC სქემას. დანარჩენი ყველაფერი შემთხვევითია, და სწორედ ამიტომ ვერ გაიგებთ, როდის ან სად შეიქმნა იდენტიფიკატორი.
როცა გჭირდებათ იდენტიფიკატორი, რომელიც სხვას არ დაემთხვევა, ხელით აკრეფა შეცდომებით სავსეა და განჭვრეტადია. ეს გენერატორი ერთი დაჭერით გაძლევთ სწორად ფორმატირებულ და ნამდვილად შემთხვევით UUID-ს მონაცემთა ბაზის პირველადი გასაღებებისთვის, შეტყობინებებისა და მოთხოვნების იდენტიფიკატორებისთვის, API-ის იდემპოტენტურობის გასაღებებისთვის, ფაილებისა და ატვირთვების სახელებისთვის, სატესტო მონაცემებისა და საწყისი მონაცემების ნაკრებებისთვის. რადგან თითოეული მნიშვნელობა დამოუკიდებელია, შეგიძლიათ აიღოთ ერთი სწრაფი ექსპერიმენტისთვის ან რამდენიმე ათეული სატესტო სტრიქონის პაკეტისთვის, დუბლიკატების შიშისა და კოდის ფრაგმენტის გამოყენების გარეშე.
UUID-ები იქმნება მთლიანად თქვენს ბრაუზერში მისი ჩაშენებული კრიპტოგრაფიული შემთხვევითი რიცხვების გენერატორით — სწორედ იმ წყაროთი, რომელიც რეკომენდებულია მე-4 ვერსიის იდენტიფიკატორებისთვის. ყველაფერი, რასაც ქმნით, არ იტვირთება, არ ჩაიწერება და არ ინახება არცერთ სერვერზე, ამიტომ მნიშვნელობები მხოლოდ თქვენია და ქრება, როცა გვერდს ტოვებთ. ერთი გაფრთხილება გასამეორებელია: UUID არის იდენტიფიკატორი და არა საიდუმლო. ის შესანიშნავია, როგორც საჯარო გასაღები, მაგრამ მისი გამოყენება არასოდეს შეიძლება როგორც პაროლის, API ტოკენის ან ისეთი რამის, რაც თავისთავად აძლევს წვდომას.
უკიდურესად ნაკლებად სავარაუდოა. მე-4 ვერსიის UUID შეიცავს 122 შემთხვევით ბიტს, რაც დაახლოებით 5,3 undecillion შესაძლო მნიშვნელობაა. იმისთვის, რომ ერთი დამთხვევის ალბათობა მილიარდში ერთს მიაღწიოს, საჭიროა დაახლოებით 103 ტრილიონი UUID-ის გენერირება. ნებისმიერი რეალური აპლიკაციისთვის ეს ალბათობა იმდენად მცირეა, რომ პრაქტიკულად ნულად ითვლება.
პირველი ვერსია დროზეა დაფუძნებული: ის აერთიანებს მიმდინარე დროის ნიშნულს მანქანის ქსელურ (MAC) მისამართთან, ამიტომ მნიშვნელობები დაახლოებით დალაგებულია შექმნის დროის მიხედვით, მაგრამ შეიძლება გასცეს ინფორმაცია სად და როდის შეიქმნა. მე-4 ვერსია თითქმის სრულად შემთხვევითია, არაფერს ამხელს მანქანის შესახებ და უმეტეს შემთხვევაში უფრო უსაფრთხო არჩევანია. ეს ინსტრუმენტი ქმნის მე-4 ვერსიის UUID-ებს.
მათემატიკურად გარანტირებული არ არის, მაგრამ პრაქტიკულად კი. მე-4 ვერსიის UUID ეყრდნობა შემთხვევითობას და არა ცენტრალურ რეესტრს, ამიტომ ორი იდენტური მნიშვნელობა თეორიულად შესაძლებელია. ალბათობა იმდენად უმნიშვნელოა, რომ მსოფლიოს მასშტაბით სისტემები იყენებენ UUID-ებს უნიკალურ იდენტიფიკატორებად ერთმანეთთან რაიმე კოორდინაციის გარეშე.
UUID შედგება 32 თექვსმეტობითი ციფრისგან, რომლებიც დეფისებით იყოფა ხუთ ჯგუფად 8-4-4-4-12 სქემით, მაგალითად 550e8400-e29b-41d4-a716-446655440000. მესამე ჯგუფი იწყება ვერსიის ციფრით (4 v4-ისთვის), ხოლო მეოთხე ჯგუფი იწყება ვარიანტის ციფრით (8, 9, a ან b).
დიახ, ეს გავრცელებული მიდგომაა. UUID საშუალებას გაძლევთ გასაღები შექმნათ აპლიკაციაში სტრიქონის ჩასმამდე და არ გამოაჩინოთ თანმიმდევრული ავტოინკრემენტული იდენტიფიკატორები. სანაცვლოდ, შემთხვევითი v4 გასაღებები უფრო დიდია მთელ რიცხვებზე და შეიძლება დაანაწევროს ინდექსის თანმიმდევრობა, ამიტომ ბევრი ჩაწერის მქონე სისტემები ზოგჯერ ამჯობინებენ დროის მიხედვით დალაგებულ ვარიანტს ან ინახავენ UUID-ს ბინარულ სვეტში წარმადობისთვის.