تخطي إلى المحتوى الرئيسي
FreeOnlineTools Go
العربية
توضيح

ما هو UUID؟ شرح معرف فريد عالمياً

بواسطة FreeOnlineTools Team · تم التحديث في 2026-09-02

إجابة سريعة

UUID = 128 بت، 36 حرفاً (32 hex + 4 واصلات). v4 عشوائي، احتمال التضارب ≈ 0. استخدم crypto.randomUUID() أو مولّد UUID المجاني — يولّد v4 في متصفحك.

مقدمة

UUID (معرف فريد عالمياً) هو رقم 128 بت يُمثل كـ 8-4-4-4-12 سداسي عشري. احتمال تضارب اثنين من UUID v4 العشوائية هو 1 في 2^122 — عملياً صفر. مدعوم في جميع لغات البرمجة. crypto.randomUUID() متاح في المتصفحات الحديثة.

خطوة بخطوة

  1. افهم بنية UUID

    UUID عبارة عن 128 بت، يتم عرضها كـ 32 رقمًا سداسيًا عشريًا في 5 مجموعات: 8-4-4-4-12، مفصولة بواصلات (على سبيل المثال، 550e8400-e29b-41d4-a716-446655440000). يشير الرقم الثالث عشر إلى الإصدار (4 للإصدار 4)، ويشير الرقم السابع عشر إلى المتغير.

  2. تعرف على إصدارات UUID

    الإصدار 1: يعتمد على الوقت (الطابع الزمني + عنوان MAC) - مرتب بالوقت ولكنه يتسرب من الهوية. الإصدار 3: يعتمد على الاسم باستخدام تجزئة MD5. الإصدار 4: عشوائي — الأكثر شيوعًا، ولا توجد مخاوف تتعلق بالخصوصية. الإصدار 5: يعتمد على الاسم باستخدام تجزئة SHA-1. الإصداران 6 و7: تم ترتيبهما بالوقت مع خصوصية محسنة على الإصدار 1.

  3. فهم احتمالية الاصطدام

    يحتوي UUID v4 على 2^122 قيمة محتملة. احتمال الاصطدام بين 103 تريليون UUID هو 50٪. بالنسبة للاستخدام العملي (ملايين المعرفات)، يكون احتمال التصادم صفرًا فعليًا — يمكنك إنشاء UUIDs بشكل مستقل دون تنسيق.

  4. استخدم UUIDs بشكل مناسب

    استخدم الإصدار 4 لجميع حالات الاستخدام تقريبًا (معرفات قاعدة البيانات، ومعرفات الطلب، والرموز المميزة للجلسة). استخدم الإصدار 7 إذا كنت بحاجة إلى معرفات مرتبة حسب الوقت لموقع قاعدة البيانات. تجنب الإصدار 1 في السياقات الحساسة للأمان - فهو يتضمن طابعًا زمنيًا وعنوان MAC.

أمثلة

UUID الإصدار 4 (عشوائي)

مدخل: تم إنشاؤها باستخدام crypto.getRandomValues

الإخراج: 550e8400-e29b-41d4-a716-446655440000

UUID الإصدار 1 (معتمد على الوقت)

مدخل: الطابع الزمني + عنوان MAC

الإخراج: a3bbf0ee-d6e4-11ed-a5b3-3c9703e8b4a1

لا شيء UUID

مدخل: All zeros

الإخراج: 00000000-0000-0000-0000-000000000000

المشاكل الشائعة

  • استخدام Math.random()‎ لمعرفات UUID — ليس آمنًا من الناحية التشفيرية. استخدم crypto.getRandomValues() أو crypto.randomUUID() في المتصفحات.
  • تخزين UUID كسلاسل - سلسلة UUID هي 36 بايت؛ تم تخزينه كنوع UUID (16 بايت) وهو أكثر كفاءة. استخدم النوع UUID الأصلي في قواعد البيانات عندما يكون ذلك متاحًا.
  • استخدام الإصدار 1 في سياقات حساسة للأمان — يتضمن الإصدار 1 طابعًا زمنيًا وعنوان MAC، مما قد يؤدي إلى تسرب معلومات حول متى وأين تم إنشاؤه. استخدم الإصدار 4 لعدم الكشف عن هويته.
  • بافتراض أن UUIDs فريدة حقًا - فهي فريدة من نوعها من الناحية العملية (احتمال التصادم لا يكاد يذكر)، ولكنها ليست فريدة من نوعها رياضيًا.

نصائح

  • استخدم UUID الإصدار 4 لجميع حالات الاستخدام تقريبًا — فهو عشوائي، وليس لديه أي مخاوف تتعلق بالخصوصية، وتدعمه جميع قواعد البيانات الحديثة.
  • استخدم crypto.randomUUID() في المتصفحات الحديثة لمولد v4 مدمج بدون مكتبة.
  • قم بتخزين UUIDs كنوع UUID/GUID في قواعد البيانات (16 بايت) بدلاً من السلاسل (36 بايت) لتحسين أداء التخزين والفهرس.
  • استخدم منشئنا UUID لإنشاء UUIDs على الفور في متصفحك - بدون اشتراك، خاص تمامًا.

الأدوات ذات الصلة

أدلة ذات صلة

مراجع