شو هو UUID؟
UUID (أو GUID بعالم مايكروسوفت) هو معرّف فريد طولو 128 بت، بينكتب 32 خانة ست عشرية بالشكل 8-4-4-4-12، مثلاً 550e8400-e29b-41d4-a716-446655440000. المبرمجين بيستعملوه كرقم تعريف للسجلات بقواعد البيانات والملفات والطلبات، لأنو أي جهاز بيقدر يولّدو لحالو بدون ما يسأل سيرفر مركزي، وبدون خوف من التكرار.
v4 ولا v7؟
- الإصدار 4: 122 بت عشوائية بالكامل. هو الأشهر والافتراضي بأغلب اللغات. احتمال تكرار اتنين منهن عملياً صفر: لازم تولّد مليارات بالثانية لسنين.
- الإصدار 7: معتمد بمعيار RFC 9562 (سنة 2024). أول 48 بت فيه وقت الإنشاء بالملّي ثانية، والباقي عشوائي. بما إنو بيترتّب حسب الوقت، بيكون أسرع بكتير كمفتاح أساسي بقواعد البيانات (فهارس B-tree) من v4. الأداة بتضيف عدّاد، فحتى الـ 1000 اللي بيتولّدوا بنفس الملّي ثانية بيطلعوا مرتّبين.
هل UUID آمن كرمز سري؟
المولّد هون بيستعمل مولّد الأرقام العشوائية الآمن بالمتصفح (crypto.randomUUID و crypto.getRandomValues)، وما في شي بينبعت لأي سيرفر. بس الـ UUID معرّف مش كلمة سر: v7 بيكشف وقت إنشائه، وv1 القديم ممكن يكشف عنوان الجهاز. للتوكنات السرية استعمل قيمة عشوائية مخصصة.
فاحص UUID
الصق أي UUID (مع أو بدون شرطات، بأحرف كبيرة أو صغيرة، أو بالشكل urn:uuid: أو بين أقواس) وبتعرف إذا صالح، وشو إصدارو ونوعو، ولو كان v1 أو v6 أو v7 بيطلعلك تاريخ ووقت إنشائه بالضبط.
أسئلة شائعة
- هل يمكن أن يتكرر UUID؟
- نظرياً ممكن، بس عملياً لأ: مع 122 بت عشوائية بالإصدار 4، لتوصل لاحتمال تكرار 50% لازم تولّد حوالي 2.7 مليار مليار UUID.
- ما الفرق بين UUID و GUID؟
- نفس الشي تقريباً. GUID هو الاسم اللي بتستعملو مايكروسوفت، وغالباً بينكتب بأحرف كبيرة وبين أقواس { }. الأداة بتولّد الشكلين.
- أيهما أفضل لقاعدة البيانات: UUID v4 أم v7؟
- v7 غالباً أفضل كمفتاح أساسي لأنو مرتّب حسب الوقت، فالإدخال بالفهرس أسرع وأقل تشتّت. v4 مناسب لما ما بدك تكشف وقت الإنشاء.
- هل تُحفظ المعرّفات المولَّدة لديكم؟
- لأ. بتتولّد بمتصفحك وما بتطلع من جهازك.