UUID v4 טיפוסי
550e8400-e29b-41d4-a716-446655440000
חמש קבוצות hex שמופרדות במקפים. ה-4 במיקום 13 מציין שזה UUID מגרסה 4 (אקראי).
ליצור UUID מגרסה v1/v4 בכמויות, מוכנים להעתקה.
עודכן לאחרונה
ב-Coddy לומדים דרך כתיבת קוד אמיתי בדפדפן: שיעורים אינטראקטיביים, משוב מיידי ועזרה מ-AI כשנתקעים.
UUID generator יוצר Universally Unique Identifiers: ערכים של 128 ביט שמובטח סטטיסטית שלא יתנגשו עם אף UUID אחר שנוצר בכל מקום אחר. מפתחים משתמשים בהם כמפתחות ראשיים לשורות במסד נתונים, כמזהים למשאבי API, כשמות ל-test fixtures, כמזהי הודעות בתורים וכמזהים במערכות מבוזרות.
UUIDs שימושיים כי כל מכונה יכולה ליצור אחד באופן עצמאי ולסמוך על כך שאף אחד אחר לא ייצור את אותו ערך. אין מונה מרכזי, אין רצף לתאם ואין סבב הלוך ושוב מול שרת. זה הופך אותם למעשיים בכל מקום שבו מערכת צריכה להנפיק מזהים בלי לבקש רשות.
*GUID* (Globally Unique Identifier) הוא השם של Microsoft לאותו מזהה של 128 ביט. לצורכי פיתוח יומיומיים, GUID ו-UUID הם אותו דבר: אקוסיסטמות שונות פשוט מעדיפות שמות שונים.
8-4-4-4-12.בחרו v4 למזהים אקראיים, v7 למזהים ממוינים לפי זמן שמתאנדקסים היטב, או v1 למערכות ישנות שצריכות timestamp ומזהה node.
צרו UUID יחיד כשצריך מזהה מהיר, או עד 1,000 בבת אחת כשממלאים מסד נתונים בנתוני בדיקה או מדמים תגובות API.
הפעילו או כבו אותיות גדולות, מקפים וסוגריים מסולסלים ({...}) כדי להתאים למוסכמה שמסד הנתונים, הקוד או הפלטפורמה שלכם מצפים לה.
העתיקו UUID יחיד או את כל הרשימה. הכול נוצר מקומית בדפדפן שלכם.
חמש גרסאות ה-UUID הנפוצות, ומתי כדאי להשתמש בכל אחת.
| גרסה | מקור הייחודיות | מתי להשתמש |
|---|---|---|
| v1 | Timestamp + כתובת MAC | מערכות ישנות, עלול לחשוף את כתובת ה-MAC של המחשב |
| v3 | Hash מסוג MD5 של שם + namespace | מזהים דטרמיניסטיים שנגזרים ממחרוזת |
| v4 | אקראיות קריפטוגרפית | ברירת המחדל לרוב האפליקציות: אם אתם לא בטוחים, בחרו בזה |
| v5 | Hash מסוג SHA-1 של שם + namespace | כמו v3 אבל עם hash חזק יותר |
| v7 | Unix timestamp (ms) + אקראיות | מפתחות ראשיים במסד נתונים: ניתן למיון לפי זמן |
550e8400-e29b-41d4-a716-446655440000
חמש קבוצות hex שמופרדות במקפים. ה-4 במיקום 13 מציין שזה UUID מגרסה 4 (אקראי).
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Lesson 1", "createdAt": "2026-04-25T10:00:00Z"}APIs חושפים בדרך כלל UUIDs כמחרוזות ב-JSON. הרבה מסדי נתונים תומכים גם בסוג עמודה מובנה UUID ששומר 16 בתים במקום 36 תווים.
550e8400-e29b-41d4-a716-446655440000
550E8400-E29B-41D4-A716-446655440000
{550E8400-E29B-41D4-A716-446655440000}
550e8400e29b41d4a716446655440000
אותו ערך של 128 ביט בארבעה פורמטים שונים. בחרו אחד והיצמדו אליו בתוך הפרויקט: ערבוב פורמטים גורם לבאגים מבלבלים בהשוואות.
Math.random() או עם מחוללי מספרים אקראיים חלשים. תמיד השתמשו ב-crypto.randomUUID() של הפלטפורמה או במקבילה שלו.crypto.randomUUID() בדפדפנים וב-Node.js, uuid.uuid4() ב-Python, UUID.randomUUID() ב-Java.UUIDs משמשים בכל מקום שבו מערכת צריכה מזהה ייחודי גלובלית בלי לתאם מול שרת. מפתחות ראשיים במסד נתונים, מזהים של משאבי REST, מזהי אירועים במערכות מבוזרות, מזהי קורלציה בלוגים ומזהים של משתמשים אנונימיים הם שימושים נפוצים.
השתמשו ב-UUID v4 למזהים אקראיים לשימוש כללי. השתמשו ב-UUID v7 אם אתם רוצים מזהים ממוינים לפי זמן שעובדים טוב כמפתחות ראשיים במסד נתונים. השתמשו ב-v3 / v5 רק כשאתם צריכים במפורש מזהים דטרמיניסטיים מתוך שם.
תיאורטית כן, אבל ב-UUIDs שנוצרו כמו שצריך ההסתברות זניחה: גם אם תיצרו מיליארד UUIDs מגרסה v4 בכל שנייה במשך 85 שנה, הסיכוי להתנגשות כלשהי יישאר נמוך מאחד למיליארד.
מחרוזות זה בסדר וזה נייד. הרבה מסדי נתונים תומכים גם בסוג UUID מובנה ששומר את הערך כ-16 בתים: חצי מהאחסון והשוואות מהירות יותר. השתמשו בפורמט שמתאים למסד הנתונים ולכלים שלכם.