مولّد UUID
أنشئ معرّفات UUID v4 عشوائية باستخدام مولّد الأرقام العشوائية التشفيري في متصفحك. أنشئ واحدًا أو مئة دفعة واحدة، لا يُرسل أي شيء إلى أي مكان.
ما هو UUID v4؟
128 بت من العشوائية، منسّقة كمعرّف قياسي.
يتكوّن UUID v4 من 122 بت عشوائيًا (البتات الست الأخرى ثابتة لتمييز الإصدار والمتغيّر)، ما يعطي حوالي 5.3 أنديسيليون قيمة ممكنة. التصادمات نادرة الحدوث لدرجة أنها ليست مصدر قلق عملي لمفاتيح قواعد البيانات الأساسية، أو معرّفات الطلبات، أو أسماء الملفات.
الاستخدامات الشائعة
مفاتيح قواعد بيانات أساسية لا تكشف عدد الصفوف، ومفاتيح idempotency لطلبات API، ومعرّفات ربط لتتبّع السجلات عبر الخدمات، وأسماء ملفات أو جلسات فريدة لن تتصادم حتى لو أُنشئت على أجهزة مختلفة في الوقت نفسه.
كيف يعمل
يأتي كل معرّف من crypto.randomUUID()، المولّد المدمج في المتصفح. تحت الغطاء، يسحب 128 بت من مصدر التشفير الآمن العشوائي لنظام التشغيل (نفس المصدر الذي يولّد مفاتيح TLS)، ثم يثبّت 6 من هذه البتات بقيم محددة: تصبح خانة الإصدار 4 وتصبح بتات المتغيّر 10. لهذا السبب يبدأ كل UUID هنا بالرقم 4 في بداية المجموعة الثالثة وبالرقم 8 أو 9 أو a أو b في بداية المجموعة الرابعة. أما البتات الـ122 المتبقية فهي عشوائية بحتة، وهذا ما يجعل التصادمات غير ذات أهمية عمليًا.
إلى أي مدى غير ذات أهمية؟ يوجد 2^122 معرّف UUID v4 ممكن، أي حوالي 5.3 أنديسيليون. تقول رياضيات «مسألة أعياد الميلاد» إنك ستحتاج إلى إنشاء نحو 103 تريليون UUID قبل أن تصل احتمالية حدوث تصادم واحد فقط إلى واحد من كل مليون. كل معرّف قد تنشئه أنظمتك على الإطلاق هو خطأ تقريب لا يُذكر أمام هذا الرقم، ولهذا يُعدّ إنشاء UUID v4 آمنًا على أي جهاز دون أي تنسيق.
الإنشاء هو مجرد استدعاء واحد لواجهة برمجة المتصفح، لذا لا يُطلب أي شيء من خادم ولا يُرسل أي شيء إليه: افتح تبويب الشبكة في أدوات المطوّر، انقر على «إنشاء»، وشاهد أنه لا يحدث شيء. تُعيد مفاتيح الأحرف الكبيرة وإزالة الشرطات تنسيق المعرّفات المُنشأة بالفعل فقط؛ القيم الأساسية لا تتغيّر.
ملاحظة عملية: معرّفات UUID v4 غير مرتّبة عمدًا، لذا فهي كمفاتيح أساسية لقاعدة بيانات تُوزّع عمليات الإدراج عبر الفهرس. إذا كنت بحاجة إلى معرّفات تُرتَّب حسب وقت الإنشاء، فانظر إلى UUID v7 الذي يضع طابعًا زمنيًا في البتات العليا. أما في كل الحالات الأخرى (معرّفات الطلبات، أسماء الملفات، رموز الربط)، فإن UUID v4 العشوائي هو الخيار الصحيح تمامًا.