> 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

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

س: ما الصيغ التي يمكن أن يكون عليها GUID في .NET؟

ج: تدعم Guid.ToString الصيغ N (32 رقماً) وD (مع شرطات، الافتراضية) وB (بين أقواس معقوفة) وP (بين قوسين) وX (بنية سداسية عشرية). وعند التحليل لا فرق بين الأحرف الكبيرة والصغيرة.

س: ما الفرق بين NEWID() وNEWSEQUENTIALID() في SQL Server؟

ج: يعيد NEWID() قيم GUID عشوائية قد تفتّت الفهارس كثيراً. ويعيد NEWSEQUENTIALID() قيماً متصاعدة ولا يُستخدم إلا كقيمة افتراضية للعمود. قيمه قابلة للتنبؤ فلا تصلح للأسرار.

س: هل توجد GUID قابلة للترتيب في .NET؟

ج: منذ .NET 9 تولّد Guid.CreateVersion7() قيم GUID قابلة للترتيب زمنياً وفق UUID v7. لاحظ أن ترتيب بايتات Guid وترتيب SQL Server لا يطابقان التمثيل النصي.

// لغات أخرى