> 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-000000000000 | UUID الفارغ (كل البتات 0) |
| ffffffff-ffff-ffff-ffff-ffffffffffff | UUID الأقصى (كل البتات 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 لا يطابقان التمثيل النصي.