> uuid | guid | توليد <

// أنشئ معرفات فريدة عالمياً (UUID/GUID) فوراً

[آمن]

عشوائية تشفيرية

يستخدم UUID v4 الدالة crypto.getRandomValues() للتوليد العشوائي الآمن تشفيرياً. بياناتك لا تغادر متصفحك أبداً.

[جماعي]

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

أنشئ حتى 100 UUID دفعة واحدة. مثالي لملء قواعد البيانات والاختبار وسير عمل التطوير.

[مجاني]

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

دعم UUID v4 (عشوائي) وv1 (طابع زمني). اختر الإصدار المناسب لحالة استخدامك.

// حول توليد UUID

كيف يعمل UUID:

UUID (المعرف الفريد العالمي) هو معرف 128 بت موحد بواسطة RFC 4122. يستخدم UUID v4 عدد 122 بت عشوائي مما يوفر 2^122 قيمة ممكنة. تنسيق 36 حرفاً يتبع نمط 8-4-4-4-12 مع بتات الإصدار والمتغير المضمنة.

مثال:

550e8400-e29b-41d4-a716-446655440000

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

  • >مفاتيح قواعد البيانات الأساسية ومعرفات السجلات
  • >الأنظمة الموزعة بدون تنسيق مركزي
  • >رموز الجلسات ومعرفات الارتباط
  • >تسمية الملفات وتحديد الموارد
  • >تتبع طلبات API والتسجيل

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

س: ما هو UUID؟

ج: UUID (المعرف الفريد العالمي) هو رقم 128 بت يستخدم لتحديد المعلومات بشكل فريد في أنظمة الكمبيوتر. يُعرف أيضاً باسم GUID. التنسيق القياسي هو 8-4-4-4-12 حرفاً سداسي عشري مفصولة بشرطات.

س: ما الفرق بين UUID v4 وv1؟

ج: يتم توليد UUID v4 باستخدام أرقام عشوائية وهو الإصدار الأكثر استخداماً. يعتمد UUID v1 على الطابع الزمني الحالي ومعرف العقدة. يُفضل V4 لمعظم التطبيقات بسبب بساطته وخصوصيته.

س: ما احتمال تصادم UUID؟

ج: يحتوي UUID v4 على 122 بت عشوائي، مما يعطي 2^122 (حوالي 5.3 × 10^36) قيمة ممكنة. احتمال توليد نسخة مكررة منخفض للغاية.

س: ما الفرق بين UUID وGUID؟

ج: UUID وGUID هما في الأساس نفس الشيء. UUID هو المصطلح المستخدم في معظم المعايير، بينما GUID هو المصطلح الشائع في تقنيات مايكروسوفت.

س: ما هو RFC 4122؟

ج: RFC 4122 هو معيار الإنترنت الذي يحدد تنسيق UUID وخوارزميات التوليد واتفاقيات مساحات الأسماء. يحدد خمسة إصدارات من UUID (v1 إلى v5).

// قيم UUID الخاصة

هذه القيم الثابتة معرّفة في RFC 9562.

UUIDالمعنى
00000000-0000-0000-0000-000000000000UUID الفارغ (كل البتات 0)
ffffffff-ffff-ffff-ffff-ffffffffffffUUID الأقصى (كل البتات 1)
6ba7b810-9dad-11d1-80b4-00c04fd430c8فضاء أسماء DNS (للإصدارين v3/v5)

// توليد UUID في الشيفرة

JavaScript   crypto.randomUUID()
Python       str(uuid.uuid4())
PHP          Ramsey\Uuid\Uuid::uuid4()->toString()
Go           uuid.NewString()
Java         UUID.randomUUID()
C# / .NET    Guid.NewGuid()
PostgreSQL   gen_random_uuid()
MySQL        UUID()
Bash         uuidgen

>> المزيد من الأسئلة

س: هل أستخدم UUID v4 أم v7 مفتاحاً أساسياً؟

ج: يبدأ v7 بطابع زمني، فيمكن ترتيبه تقريباً حسب وقت الإنشاء ويُدرج بكفاءة في فهارس B-tree. أما v4 فعشوائي تماماً ويسبب إدراجات متفرقة في الجداول الكبيرة. اختر v7 عندما يهم الترتيب وأداء الفهرس، وv4 إذا كان يجب ألا يكشف المعرّف الوقت.

س: ما أفضل طريقة لتخزين UUID في قاعدة البيانات؟

ج: استخدم النوع الأصلي إن وُجد (مثل uuid في PostgreSQL). وإلا ففضّل BINARY(16) على CHAR(36): يوفر أكثر من نصف المساحة ويسرّع المقارنات والفهارس.

س: ما احتمال توليد UUID v4 متطابقين؟

ج: يحتوي UUID v4 على 122 بتاً عشوائياً. حتى لو وُلّد مليار معرّف في الثانية لمدة 100 عام، يبقى احتمال التصادم أقل بكثير من واحد في المليار، بشرط أن يكون مولّد الأرقام العشوائية جيداً تشفيرياً.

// لغات أخرى