Skip to content

مولّد ومحلل UUID — وضع الدُفعات

أنشئ UUID من النوع v1 وv4 وv5 وv7 فوراً — مولّد مجاني أونلاين مع محلل وتحقق. دُفعات حتى 50. يعمل في متصفّحك 100%. جرّبه الآن.

بدون تتبّع يعمل في المتصفّح مجاني
يتم توليد جميع معرفات UUID محلياً في متصفحك. لا يتم نقل أو تخزين أي شيء.
تمت المراجعة للتوافق مع RFC 9562 والصحة الهيكلية — فريق هندسة Go Tools · Mar 22, 2026

ما هو UUID؟

UUID (المعرّف الفريد العالمي) هو معرّف فريد عالمياً بحجم 128 بت موحّد وفقاً لمعيار RFC 9562 (IETF، مايو 2024)، مصمم لتوليد معرفات خالية من التصادم عبر الأنظمة الموزعة دون تنسيق مركزي. تُعد معرفات UUID أكثر تنسيقات المعرفات اعتماداً في البرمجيات الحديثة.

تُكتب معرفات UUID كـ 32 رقماً سداسياً عشرياً بالتنسيق القياسي 8-4-4-4-12، مثل 550e8400-e29b-41d4-a716-446655440000.

هناك خمسة إصدارات شائعة الاستخدام. الإصدار 1 (v1) يُرمّز الطابع الزمني الحالي وعنوان MAC للجهاز. الإصدار 3 (v3) والإصدار 5 (v5) حتميان — يجزئان نطاق اسم واسماً باستخدام MD5 أو SHA-1 على التوالي. الإصدار 4 (v4) هو الأكثر شيوعاً: يملأ 122 بت ببيانات عشوائية آمنة تعمويّاً. الإصدار 7 (v7) هو الأحدث: يجمع طابعاً زمنياً بدقة المللي ثانية مع بيانات عشوائية لإنتاج معرفات فريدة وقابلة للفرز زمنياً.

تُعد معرفات UUID أساسية في الأنظمة الموزعة وقواعد البيانات وواجهات API وأي مكان تحتاج فيه إلى معرفات فريدة دون تنسيق مركزي.

تولّد هذه الأداة جميع إصدارات UUID بالكامل في متصفحك باستخدام Web Crypto API — لا تُرسل أي معرفات إلى أي خادم. يمكنك أيضاً تحليل معرفات UUID الموجودة والتحقق من صحتها.

ترتبط معرفات UUID ارتباطاً وثيقاً بأدوات المطوّرين الأخرى. يضمّن UUID v1 وv7 طوابع زمنية Unix مباشرة، ويستخدم UUID v3 وv5 تجزئات MD5 وSHA-1 كأساس لهما، وغالباً ما تُنقل سلاسل UUID داخل حمولات JSON التي يُفضل فحصها باستخدام منسق JSON.

// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'

// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
  const bytes = new Uint8Array(16);
  crypto.getRandomValues(bytes);
  bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
  bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
  const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
  return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
}

الميزات الرئيسية

دعم UUID v7 (RFC 9562)

ولّد أحدث تنسيق UUID v7 مع طوابع زمنية Unix مضمنة لمعرفات مرتبة زمنياً وصديقة لقواعد البيانات.

محلل ومدقق UUID

حلّل أي UUID لكشف إصداره ومتغيره وطابعه الزمني (v1/v7) ومعلومات العقدة. تحقق فوراً مما إذا كانت السلسلة النصية UUID صالحة.

دعم إصدارات متعددة

ولّد معرفات UUID في خمسة إصدارات — v1 (يعتمد على الوقت) وv3 (MD5) وv4 (عشوائي) وv5 (SHA-1) وv7 (عشوائي مرتب زمنياً) — جميعها متوافقة مع RFC 9562.

توليد بالدُفعات

ولّد حتى 50 معرف UUID فريد دفعة واحدة. يتم توليد كل معرف بشكل مستقل مع عشوائية تعموية كاملة.

تنسيقات إخراج متعددة

أخرج معرفات UUID بأحرف صغيرة أو كبيرة أو بدون شرطات أو بأقواس — مطابقة للتنسيق المطلوب من نظامك.

آمن تعمويّاً

يستخدم Web Crypto API (crypto.getRandomValues()) لتوليد أرقام عشوائية حقيقية — نفس المعيار المستخدم في مديري كلمات المرور وأدوات الأمان.

يعمل بالكامل في المتصفح

يتم توليد جميع معرفات UUID محلياً في متصفحك. لا يُرسل أي شيء إلى أي خادم — معرفاتك تبقى خاصة تماماً.

مقارنة إصدارات UUID

اختر إصدار UUID المناسب لحالة استخدامك.

الإصدار الأساس قابل للفرز الخصوصية الأفضل لـ
v1 الطابع الزمني + عنوان <bdi>MAC</bdi> حسب وقت الإنشاء يكشف <bdi>MAC</bdi> والوقت الأنظمة القديمة التي تتطلب ترتيباً زمنياً
v4 122 بت عشوائية تعموية لا مجهول بالكامل الاستخدام العام — الإصدار الأكثر استخداماً
v5 تجزئة <bdi>SHA-1</bdi> لنطاق الاسم + الاسم لا حتمي وقابل للتكرار معرفات ثابتة من مدخلات معروفة (<bdi>URLs</bdi>, <bdi>DNS</bdi>)
v7 طابع زمني <bdi>Unix</bdi> (مللي ثانية) + عشوائي حسب وقت الإنشاء يكشف وقت الإنشاء فقط قواعد البيانات الحديثة — قابل للفرز وصديق للفهرسة (<bdi>RFC 9562</bdi>)

UUID مقابل تنسيقات المعرفات الأخرى

ULID

26 حرفاً، ترميز <bdi>Crockford Base32</bdi>

قابل للفرز المعجمي مثل <bdi>UUID v7</bdi>، لكن يستخدم ترميز <bdi>Crockford Base32</bdi> (26 حرفاً مقابل 36). أصبح <bdi>UUID v7</bdi> الآن البديل الموحد من <bdi>IETF</bdi> مع دعم أدوات أوسع.

nanoid

21 حرفاً، أبجدية آمنة للروابط

أقصر وآمن للروابط، مثالي عندما يهم الإيجاز. ليس معياراً رسمياً — يفتقر إلى أنواع قواعد البيانات الأصلية والمكتبات متعددة المنصات التي يمتلكها <bdi>UUID</bdi>.

CUID2

طول متغير، أبجدي رقمي

مصمم للتوسع الأفقي مع مقاومة التصادم. أقل اعتماداً من <bdi>UUID</bdi>؛ لا يوجد دعم أصلي في قواعد البيانات. فكر في <bdi>UUID v7</bdi> لمعرفات موحدة مرتبة زمنياً.

أمثلة إصدارات UUID

UUID v4 (عشوائي)

550e8400-e29b-41d4-a716-446655440000

الإصدار الأكثر استخداماً. 122 بت من العشوائية التعموية توفر أكثر من 5.3 × 10^36 قيمة ممكنة — مناسب لأي حالة استخدام تتطلب التفرد.

UUID v7 (مرتب زمنياً)

01906b5e-4a3e-7234-8f56-b8c12d4e5678

يجمع طابعاً زمنياً Unix بدقة 48 بت بالمللي ثانية مع بيانات عشوائية. تُفرز المعرفات زمنياً، مما يجعلها مثالية للمفاتيح الأساسية في قواعد البيانات.

UUID v1 (يعتمد على الوقت)

6ba7b810-9dad-11d1-80b4-00c04fd430c8

يرمّز طابعاً زمنياً بدقة 60 بت وعنوان MAC بدقة 48 بت للجهاز المولّد. يضمن التفرد في الزمان والمكان لكن قد يكشف معلومات هوية الجهاز.

UUID v5 (يعتمد على اسم SHA-1)

886313e1-3b8a-5372-9b90-0c9aee199e5d

UUID حتمي يُولّد بتجزئة نطاق اسم DNS مع الاسم 'python.org' باستخدام SHA-1. نفس النطاق والاسم ينتجان دائماً نفس UUID.

كيفية الاستخدام

  1. 1

    اختر إصدار UUID

    اختر من v1 (يعتمد على الوقت) أو v3 (يعتمد على اسم MD5) أو v4 (عشوائي) أو v5 (يعتمد على اسم SHA-1) أو v7 (عشوائي مرتب زمنياً). كل إصدار يخدم غرضاً مختلفاً — v4 هو الأكثر شيوعاً للاستخدام العام.

  2. 2

    اضبط الخيارات

    لـ v3 وv5، اختر نطاق اسم (DNS أو URL أو OID أو X.500 أو مخصص) وأدخل اسماً للتجزئة. حدد الكمية من 1 إلى 50 واختر تنسيق الإخراج.

  3. 3

    ولّد معرفات UUID

    انقر على زر التوليد. يتم إنشاء كل UUID باستخدام Web Crypto API (crypto.getRandomValues()) لأمان تعموي.

  4. 4

    انسخ واستخدم

    انقر على زر النسخ بجوار أي UUID لنسخه إلى الحافظة، أو استخدم نسخ الكل لنسخ جميع المعرفات المولدة دفعة واحدة. انتقل إلى علامة تبويب التحليل لفحص معلومات UUID موجود.

حالات الاستخدام الشائعة

المفاتيح الأساسية لقاعدة البيانات
استخدم UUID v4 أو v7 كمفاتيح أساسية فريدة دون تنسيق بين عقد قاعدة البيانات. UUID v7 مناسب بشكل خاص لأن خاصيته المرتبة زمنياً تحسن أداء فهرس B-tree.
الأنظمة الموزعة
ولّد معرفات فريدة بشكل مستقل عبر الخدمات المصغرة وصفوف الرسائل وأنظمة مصادر الأحداث. تلغي معرفات UUID الحاجة إلى خدمة مركزية لتوليد المعرفات.
تطوير واجهات API
أنشئ معرفات طلبات فريدة ومعرفات ارتباط ومفاتيح عدم التكرار لواجهات RESTful وGraphQL API.
إدارة الجلسات والرموز
ولّد معرفات جلسات فريدة ورموز مؤقتة لتدفقات المصادقة. توفر معرفات UUID تفرداً كافياً لمنع تصادم الجلسات.
الاختبار والتطوير
ولّد بيانات اختبار ومعرفات تجريبية بسرعة. التوليد بالدُفعات يسهّل ملء قواعد بيانات التطوير.

تفاصيل تقنية

بنية UUID
UUID هو 128 بت (16 بايت) يُمثل كـ 32 حرفاً سداسياً عشرياً بالتنسيق 8-4-4-4-12. البتات 48-51 (الرقم السداسي العشري الثالث عشر) ترمّز رقم الإصدار. البتات 64-65 ترمّز حقل المتغير.
بتات الإصدار
البتات 48-51 ترمّز إصدار UUID: 0001 = v1 (يعتمد على الوقت)، 0011 = v3 (يعتمد على اسم MD50100 = v4 (عشوائي)، 0101 = v5 (يعتمد على اسم SHA-10111 = v7 (وقت Unix).
حقل المتغير
البتات 64-65 تحدد المتغير. النمط 10x يشير إلى معرفات RFC 4122/9562 (الغالبية العظمى). النمط 110 يشير إلى معرفات Microsoft GUID مع ترتيب بايت مختلط.
معيار RFC 9562
RFC 9562، المنشور في مايو 2024، يحل محل RFC 4122 كمواصفة UUID النهائية. يقدم رسمياً إصدارات UUID الجديدة 6 و7 و8. الإصدار 7 يستخدم طابعاً زمنياً Unix بدقة 48 بت بالمللي ثانية مع بيانات عشوائية.

أفضل الممارسات

اختر الإصدار المناسب
استخدم v4 للمعرفات الفريدة ذات الأغراض العامة. استخدم v7 للمفاتيح الأساسية لقاعدة البيانات — بنيته المرتبة زمنياً توفر أداء فهرسة أفضل بكثير. استخدم v5 عندما تحتاج إلى معرفات حتمية مشتقة من أسماء.
استخدم UUID v7 للمفاتيح الأساسية
بنية UUID v7 المرتبة زمنياً تحافظ على تسلسل إدراجات B-tree، مما يقلل تجزئة الفهرس بنحو 90% مقارنة بمعرفات v4 العشوائية.
لا تستخدم UUID كرموز أمان أبداً
صُممت معرفات UUID للتفرد وليس للسرية. يكشف UUID v1 الطابع الزمني وعنوان MAC. UUID v4 يحتوي فقط على 122 بت من الإنتروبيا مع بنية يمكن التنبؤ بها. لرموز الأمان، استخدم مولّد أرقام عشوائية آمن مخصص.
تحقق قبل التحليل
تحقق دائماً من تنسيق UUID بتعبير نمطي قبل التحليل أو التخزين. ارفض المدخلات المشوهة عند حدود النظام لمنع هجمات الحقن وتلف البيانات.

الأسئلة الشائعة

ما هو UUID؟
UUID (المعرّف الفريد العالمي) هو معرّف بحجم 128 بت موحّد وفقاً لمعيار RFC 9562. يُكتب كـ 32 رقماً سداسياً عشرياً معروضة في خمس مجموعات مفصولة بشرطات، بالتنسيق 8-4-4-4-12 — مثلاً 550e8400-e29b-41d4-a716-446655440000. صُممت معرفات UUID لتكون فريدة عالمياً دون الحاجة إلى سلطة تسجيل مركزية. مصطلح GUID (المعرّف الفريد العالمي) هو تسمية Microsoft لنفس المفهوم ويستخدم نفس التنسيق.
ما الفروقات بين إصدارات UUID؟
يرمّز UUID v1 طابعاً زمنياً بدقة 60 بت وعنوان MAC بدقة 48 بت للجهاز. UUID v3 يجزئ نطاق اسم واسماً باستخدام MD5 لإنتاج UUID حتمي. UUID v4 يملأ 122 بت ببيانات عشوائية آمنة تعمويّاً، وهو الإصدار الأكثر استخداماً. UUID v5 مطابق لـ v3 لكنه يستخدم SHA-1 بدلاً من MD5. UUID v7، المقدم في RFC 9562 (مايو 2024)، يضمّن طابعاً زمنياً Unix بدقة 48 بت بالمللي ثانية يليه بتات عشوائية.
متى أستخدم UUID v4 مقابل v7؟
UUID v4 هو الإصدار الأكثر شيوعاً وخيار افتراضي ممتاز. يولّد 122 بت من العشوائية البحتة ولا يتطلب إعداداً. استخدم v4 عندما تحتاج ببساطة إلى معرف فريد ولا تهتم بالترتيب. UUID v7 هو الخيار الأفضل عندما تُستخدم المعرفات كمفاتيح أساسية لقاعدة البيانات أو تحتاج للفرز حسب وقت الإنشاء. لأن v7 يضمّن طابعاً زمنياً بدقة المللي ثانية في البتات الأكثر أهمية، تُفرز المعرفات تلقائياً بترتيب زمني، مما يحسن أداء فهرس B-tree بشكل كبير.
ما احتمالية تصادم UUID؟
يحتوي UUID v4 على 122 بت عشوائية، مما يعطي 2^122 (حوالي 5.3 × 10^36) قيمة ممكنة. للحصول على احتمال 50% لتصادم واحد على الأقل، ستحتاج إلى توليد حوالي 2.71 × 10^18 معرف UUID. لوضع هذا في المنظور، إذا ولّدت مليار UUID في الثانية، سيستغرق الأمر حوالي 86 عاماً للوصول إلى احتمال تصادم 50%.
هل UUID v4 آمن تعمويّاً؟
عند توليده باستخدام crypto.getRandomValues() أو مولّد أرقام عشوائية زائفة آمن تعمويّاً مكافئ (CSPRNG)، يحتوي UUID v4 على 122 بت من البيانات العشوائية الآمنة تعمويّاً. تستخدم هذه الأداة Web Crypto API التي تستمد الإنتروبيا من مصدر العشوائية الآمن لنظام التشغيل. ومع ذلك، لا ينبغي استخدام معرفات UUID كرموز أمان أو كلمات مرور أو مفاتيح تعمية. بينما 122 بت من العشوائية تجعل التنبؤ مستحيلاً، فإن معرفات UUID لها بنية يمكن التنبؤ بها — رقم الإصدار (4) وبتات المتغير ثابتة ومعروفة للعموم. لرموز الأمان، استخدم واجهات مخصصة مثل crypto.getRandomValues() بكامل 128 أو 256 بت من الإنتروبيا، أو استخدم تنسيقات رموز مثبتة مثل JWT. استخدم معرفات UUID للتعريف وليس للأمان.
كيف أتحقق من صحة تنسيق UUID؟
يتطابق UUID الصالح مع نمط التعبير النمطي: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (غير حساس لحالة الأحرف). يفرض هذا النمط تنسيق 8-4-4-4-12 السداسي العشري، ويتحقق من أن رقم الإصدار (الموضع 15) بين 1 و7، ويتأكد من أن رقم المتغير (الموضع 20) يبدأ بـ 8 أو 9 أو a أو b (مما يشير إلى متغير RFC 4122/9562). في JavaScript، يمكنك التحقق باستخدام: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid). تمتلك معظم لغات البرمجة أيضاً تحليل UUID مدمج — مثلاً مُنشئ uuid.UUID() في Python، وUUID.fromString() في Java، وuuid.Parse() في Go. تحقق دائماً من معرفات UUID عند حدود النظام قبل تخزينها أو معالجتها لمنع هجمات الحقن وتلف البيانات.
هل معرفات UUID مناسبة كمفاتيح أساسية لقاعدة البيانات؟ (الأداء والأمان وأفضل إصدار)
نعم، معرفات UUID آمنة ومتزايدة الشعبية كمفاتيح أساسية لقواعد البيانات، مع كون UUID v7 الإصدار الموصى به. المزايا الرئيسية: (1) يمكن توليد معرفات UUID في أي مكان — العملاء أو الخوادم أو الدوال الطرفية — دون رحلة ذهاب وإياب إلى قاعدة البيانات، مما يتيح بنيات العمل بدون اتصال والأنظمة الموزعة. (2) تمنع معرفات UUID هجمات التعداد لأنها ليست أعداداً صحيحة متسلسلة. (3) تبسط معرفات UUID دمج البيانات عبر الأنظمة لأن المعرفات لا تتصادم أبداً. UUID v7 هو أفضل إصدار للمفاتيح الأساسية لأن بنيته المرتبة زمنياً تحافظ على تسلسل فهارس B-tree، مما يقلل بشكل كبير انقسامات الصفحات وتضخيم الكتابة وتجزئة الفهرس بنسبة تصل إلى 90% مقارنة بمعرفات v4 العشوائية. المقايضات: تستخدم معرفات UUID حجم 16 بايت مقابل 4-8 بايت للأعداد الصحيحة، مما يزيد مساحة التخزين والذاكرة للفهارس. في MySQL/InnoDB حيث المفتاح الأساسي هو الفهرس المجمع، يمكن أن تسبب معرفات v4 العشوائية تدهوراً كبيراً في الأداء — يحل v7 هذا بضمان أن الإدراجات تُلحق دائماً في نهاية الفهرس، محققاً أداءً مماثلاً للأعداد الصحيحة المتزايدة تلقائياً. يخزن PostgreSQL معرفات UUID أصلياً في 16 بايت باستخدام نوع uuid. لمعظم التطبيقات الحديثة، تفوق مزايا توليد معرفات فريدة عالمياً بدون تنسيق تكلفة التخزين الإضافية بكثير.
ما هو نطاق اسم UUID (v3/v5
نطاق اسم UUID هو معرف UUID محدد مسبقاً أو مخصص يعمل كنطاق لتوليد معرفات v3 وv5 الحتمية. يحدد RFC 4122 أربعة نطاقات اسم قياسية: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8)، وURL (6ba7b811-9dad-11d1-80b4-00c04fd430c8)، وOID (6ba7b812-9dad-11d1-80b4-00c04fd430c8)، وX.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8). عندما تجمع نطاق اسم UUID مع سلسلة اسم، تقوم خوارزمية v3 أو v5 بتجزئتهما معاً لإنتاج UUID حتمي — نفس نطاق الاسم مع نفس الاسم ينتج دائماً نفس UUID. هذا مفيد عندما تحتاج إلى معرفات قابلة للتكرار مشتقة من أسماء ذات معنى. على سبيل المثال، تجزئة نطاق اسم DNS مع 'example.com' تنتج دائماً نفس UUID v5. يمكنك أيضاً استخدام أي UUID صالح كنطاق اسم مخصص لنظام معرفات حتمي خاص بتطبيقك.
ما هي قيمة UUID الفارغة (nil
معرف UUID الفارغ (يُسمى أيضاً UUID الصفري) هو 00000000-0000-0000-0000-000000000000 — جميع البتات الـ 128 مضبوطة على صفر. يُعرَّف في القسم 5.9 من RFC 9562 كمعرف UUID خاص يمكنه تمثيل غياب القيمة، مشابه لـ null أو None في لغات البرمجة. معرف UUID الفارغ مفيد كقيمة حارسة أو كقيمة افتراضية في أنظمة الإعداد أو كعنصر نائب في سجلات قاعدة البيانات حيث يجب ألا يكون حقل UUID فارغاً لكن لا توجد قيمة حقيقية بعد. يحدد RFC 9562 أيضاً معرف UUID الأقصى: ffffffff-ffff-ffff-ffff-ffffffffffff (جميع البتات مضبوطة على واحد)، والذي يمكن أن يعمل كعلامة حدودية. تحذيرات مهمة: لا تستخدم أبداً معرف UUID الفارغ كمعرف فعلي — فهو ليس فريداً. قد ترفض بعض مكتبات UUID وقواعد البيانات معرفات UUID الفارغة أو تعالجها بشكل خاص، لذا تأكد من أن نظامك يعاملها بشكل متسق. وثّق دائماً ما إذا كانت معرفات UUID الفارغة مقبولة في عقود API ومخططات قاعدة البيانات.
ما هو UUID v7 ولماذا يجب أن أستخدمه؟
UUID v7 هو أحدث إصدار من UUID محدد في RFC 9562 (مايو 2024). يضمّن طابعاً زمنياً Unix بدقة 48 بت بالمللي ثانية في البتات الأكثر أهمية، يتبعها بيانات عشوائية آمنة تعمويّاً. ينتج هذا التصميم معرفات UUID فريدة عالمياً وقابلة للفرز زمنياً وعالية الكفاءة كمفاتيح أساسية لقواعد البيانات. على عكس UUID v1 الذي يحتوي أيضاً على طابع زمني، يستخدم v7 تنسيق حقبة Unix أبسط ولا يكشف عنوان MAC الخاص بك. تقلل البنية المرتبة زمنياً تجزئة فهرس B-tree بنسبة تصل إلى 90% مقارنة بمعرفات UUID v4 العشوائية، مما يؤدي إلى إدراجات أسرع وفهارس أصغر ومعدلات إصابة ذاكرة تخزين مؤقت أفضل. للمشاريع الجديدة التي تبدأ في 2026، يعد UUID v7 الخيار الموصى به لأي سيناريو يتطلب ترتيباً زمنياً — خاصة المفاتيح الأساسية لقواعد البيانات وسجلات الأحداث وطوابير الرسائل الموزعة.
كيف أفك ترميز UUID؟
فك ترميز UUID يعني استخراج المعلومات الهيكلية المرمّزة ضمن بتاته الـ 128. يحتوي كل UUID على حقل إصدار (البتات 48-51) يحدد كيفية توليده، وحقل متغير (البتات 64-65) يحدد معيار UUID الذي يتوافق معه. بالإضافة إلى هذه الحقول المشتركة، تضمّن الإصدارات المختلفة بيانات مختلفة: يحتوي UUID v1 وv6 على طابع زمني بدقة 60 بت وعقدة (عنوان MAC) بدقة 48 بت؛ يحتوي UUID v7 على طابع زمني Unix بدقة 48 بت بالمللي ثانية؛ يحتوي UUID v3 وv5 على تجزئة مقتطعة لنطاق اسم واسم. لفك ترميز UUID، الصقه في علامة تبويب التحليل في هذه الأداة. ستعرض فوراً الإصدار والمتغير والطابع الزمني (للإصدارات المعتمدة على الوقت) وحالة الصلاحية. برمجياً، يمكنك فك الترميز بتحليل الأرقام السداسية العشرية وتطبيق عمليات البتات لاستخراج كل حقل وفقاً لمواصفات RFC 9562.
UUID مقابل ULID مقابل nanoid — أيهما أستخدم؟
يخدم UUID وULID وnanoid نفس الغرض الأساسي — توليد معرفات فريدة — لكنها تختلف في التنسيق وقابلية الفرز والتوحيد. UUID هو المعيار الأكثر اعتماداً (RFC 9562)، مدعوم أصلياً في جميع قواعد البيانات واللغات والأطر تقريباً. يوفر UUID v7 فرزاً زمنياً بتنسيق 128 بت و36 حرفاً القياسي. ULID (المعرف الفريد القابل للفرز المعجمي) سبق UUID v7 ويستخدم ترميز Crockford Base32 لإنتاج سلسلة قابلة للفرز من 26 حرفاً. الآن بعد وجود UUID v7 كمعيار IETF، أصبحت ميزة ULID الرئيسية — قابلية الفرز — متاحة في تنسيق UUID العالمي. يولّد nanoid معرفات أقصر (21 حرفاً افتراضياً) باستخدام أبجدية آمنة للروابط، مما يجعله مثالياً عندما يهم طول السلسلة ولا تحتاج إلى التوافق بين الأنظمة. لمعظم التطبيقات، UUID v4 (للأغراض العامة) أو UUID v7 (لمفاتيح قواعد البيانات) هو الخيار الموصى به بفضل دعم الأدوات العالمي وأنواع قواعد البيانات الأصلية والتوحيد الرسمي.
أبني خدمة مصغرة وأحتاج للاختيار بين UUID v4 وv7 لمفاتيح PostgreSQL الأساسية — أيهما أستخدم ولماذا؟
استخدم UUID v7 لمفاتيح PostgreSQL الأساسية. يضمّن UUID v7 طابعاً زمنياً Unix بدقة المللي ثانية في البتات الأكثر أهمية، لذا تكون المعرفات المولّدة مرتبة زمنياً بشكل طبيعي. هذا يحافظ على تسلسل فهارس B-tree — تُلحق الإدراجات دائماً في النهاية بدلاً من الوقوع في مواضع عشوائية، مما يقلل انقسامات الصفحات وتجزئة الفهرس بنسبة تصل إلى 90% مقارنة بمعرفات UUID v4 العشوائية. يدعم PostgreSQL 17+ نوع uuid الأصلي المحسّن لهذا النمط. لا يزال UUID v4 مناسباً للمعرفات غير المفهرسة مثل معرفات الارتباط أو رموز الجلسات حيث لا يهم ترتيب الفرز.
فريقي يتناقش حول استخدام معرفات UUID أو الأعداد الصحيحة المتزايدة تلقائياً كمعرفات قاعدة البيانات — ما المقايضات الفعلية؟
الأعداد الصحيحة المتزايدة تلقائياً أصغر حجماً (4-8 بايت مقابل 16 بايت)، وأسرع في المقارنة، وتنتج فهارس متسلسلة بشكل طبيعي. لكنها تتطلب تسلسلاً مركزياً (قاعدة البيانات)، مما يجعلها إشكالية في الأنظمة الموزعة وتطبيقات العمل بدون اتصال وعمليات ترحيل البيانات. يمكن توليد معرفات UUID في أي مكان — العملاء أو الدوال الطرفية أو قواعد بيانات متعددة — بدون تنسيق. كما أنها تمنع هجمات التعداد (لا يستطيع المستخدمون تخمين /users/124 للعثور على سجلات أخرى). تكلفة التخزين الإضافية حقيقية لكنها مقبولة عادةً: فهرس UUID يبلغ تقريباً ضعف حجم فهرس الأعداد الصحيحة. لمعظم التطبيقات الحديثة، يقدم UUID v7 أفضل ما في العالمين — فريد عالمياً وبدون تنسيق وقابل للفرز التسلسلي مثل الأعداد المتزايدة تلقائياً.
ما الفرق بين UUID وGUID؟
UUID (المعرّف الفريد العالمي) وGUID (المعرّف الفريد الشامل) هما في الأساس نفس الشيء. GUID هو المصطلح الذي صاغته Microsoft ويُستخدم بشكل أساسي في بيئات Windows و.NET وCOM وSQL Server. أما UUID فهو المصطلح القياسي المعرّف بواسطة RFC 9562 (وسابقه RFC 4122) ويُستخدم في معظم السياقات الأخرى بما في ذلك Linux وJava وPython وPostgreSQL وتطوير الويب. كلاهما يستخدم نفس التنسيق ذي 128 بت المعروض كـ 32 رقماً ست عشرياً بنمط 8-4-4-4-12. الاختلاف الطفيف الوحيد هو أن أدوات Microsoft تعرض أحياناً GUID بأحرف كبيرة مع أقواس معقوفة، مثل {550E8400-E29B-41D4-A716-446655440000}، بينما يُعرض UUID عادةً بأحرف صغيرة بدون أقواس.

أدوات ذات صلة

عرض جميع الأدوات →

مولّد تجزئة MD5 — فوري ومجاني أونلاين

أدوات الأمن

أنشئ تجزئة MD5 وSHA-256 وSHA-1 وSHA-512 فوراً — أداة مجانية تعمل في متصفّحك بدون تتبّع أو رفع بيانات. الصق النص واحصل على التجزئة في ثانية. جرّبها الآن.

مولّد كلمات مرور عشوائية — قوي وآمن ومجاني

أدوات الأمن

ولّد كلمات مرور عشوائية قوية فوراً — أداة مجانية أونلاين تعمل في متصفّحك فقط. خصّص الطول والأحرف، دُفعات حتى 50 مع تحليل الإنتروبيا. بياناتك لا تغادر جهازك.

محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

أدوات التحويل

حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

محوّل Base64 — ترميز وفك ترميز أونلاين

الترميز والتنسيق

رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.

ضغط الصور — JPEG وPNG وWebP

أدوات التحويل

اضغط صور JPEG وPNG وWebP أونلاين مجاناً — بياناتك لا تغادر متصفّحك أبداً. قلّل حجم الصورة حتى 80% مع الحفاظ على الجودة. معالجة دفعية لـ 20 صورة.

منسق JSON — التحقق والضغط وإصلاح الأخطاء

الترميز والتنسيق

نسّق JSON وتحقّق من صحته وأصلح الأخطاء فوراً — محرّر مجاني أونلاين يعمل في متصفّحك. يدعم الضغط والتجميل والتحويل. جرّبه الآن.