מחולל ובודק UUID
צרו UUID מסוג v4 אקראי קריפטוגרפית או v7 שניתן למיון, אחד או אלף בכל פעם, ובחנו כל UUID או GUID כדי לראות את הגרסה ואת חותמת הזמן המוטמעת.
רץ בדפדפן שלכםבלי הרשמהשום דבר לא מועלה
איך משתמשים בכלי מחולל UUID
- בחרו v4 למזהה אקראי לחלוטין או v7 למזהים שממוינים לפי זמן היצירה.
- הגדירו כמה אתם צריכים (עד 1,000) ולחצו על יצירה.
- אם תרצו, עברו לאותיות גדולות, הסירו מקפים או עטפו בסוגריים מסולסלים עבור GUID בסגנון Microsoft.
- לחצו על ה-UUID הגדול כדי להעתיק אותו, או השתמשו בהעתקת הכול / הורדת .txt עבור אצווה.
- הדביקו כל UUID בכלי הבחינה כדי לאמת אותו ולקרוא את הגרסה, הווריאנט וחותמת הזמן שלו.
מה זה UUID?
UUID (Universally Unique Identifier), שנקרא GUID בפלטפורמות של Microsoft, הוא ערך של 128 ביט שנכתב כ-32 ספרות hex בחמש קבוצות: 8-4-4-4-12. הפורמט מוגדר ב-RFC 9562, שהחליף את RFC 4122 ב-2024. ספרה אחת מקודדת את הגרסה (ספרת ה-hex ה-13), והביטים העליונים של הספרה ה-17 מקודדים את הווריאנט.
UUID v4 לעומת UUID v7
| v4 | v7 | |
|---|---|---|
| תוכן | 122 ביטים אקראיים | חותמת זמן Unix במילישניות של 48 ביט + 74 ביטים אקראיים |
| סדר מיון | אקראי | כרונולוגי |
| אינדקס במסד נתונים | הכנסות אקראיות גורמות לפיצול של אינדקסי B-tree | נוסף בסוף, ידידותי הרבה יותר לאינדקסים |
| חושף את זמן היצירה | לא | כן |
השתמשו ב-v7 למפתחות ראשיים במסד נתונים ולמזהי אירועים שבהם סדר ההכנסה חשוב. השתמשו ב-v4 כשהמזהה לא אמור לחשוף מתי משהו נוצר. המחולל הזה שומר על מזהי v7 עולים באופן קפדני גם כשרבים מהם נוצרים באותה מילישנייה.
עד כמה הם ייחודיים?
עם 122 ביטים אקראיים, תצטרכו ליצור בערך 2.7 קווינטיליון UUID מסוג v4 עד שתגיעו לסיכוי של 50% להתנגשות אחת. הדף משתמש במחולל המספרים האקראיים המאובטח קריפטוגרפית של הדפדפן (crypto.getRandomValues), ולעולם לא ב-Math.random().
יצירת UUID בקוד
// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();שאלות נפוצות
האם בטוח להשתמש ב-UUID האלה בפרודקשן?
מה ההבדל בין UUID ל-GUID?
{3F2504E0-4F89-11D3-9A0C-0305E82C3301}. השתמשו באפשרויות שלמעלה כדי להפיק את הפורמט הזה.אפשר לחלץ את זמן היצירה מ-UUID?
האם להשתמש ב-UUID כמפתחות ראשיים במסד נתונים?
uuid מובנית או בעמודה בינארית של 16 בתים, ולא כמחרוזת של 36 תווים.מה זה nil UUID?
00000000-0000-0000-0000-000000000000, שמשמש כ-placeholder שפירושו „אין UUID”. RFC 9562 מגדיר גם max UUID שכולו f.