تولیدکننده UUID

مقادیر UUID v4 تصادفی را برای استفاده در پایگاه‌های داده، APIها یا آزمایش تولید کنید.

تعداد UUIDهایی که باید تولید شوند (۱–۱۰).

UUID

8c1c11bf-dfbf-49a5-9b51-2cec411226e2

UUIDهای اضافیهیچ‌کدام
نسخهv4 (تصادفی)

نحوه استفاده از این تولیدکننده UUID

  1. تعیین تعداد UUIDها

    عددی بین ۱ تا ۱۰ را در فیلد تعداد UUIDها وارد کنید تا مشخص شود چه تعداد شناسه تولید شود.

  2. تولید

    این ابزار مقادیر تصادفی UUID v4 را با استفاده از منبع تصادفی رمزنگاری‌شده مرورگر تولید می‌کند.

  3. کپی نتیجه

    UUIDهای تولید شده را برای استفاده در دیتابیس‌ها، داده‌های API یا محیط‌های تست کپی کنید.

روش‌شناسی

این تولیدکننده UUID چگونه کار می‌کند

این ابزار UUIDهای نسخه ۴ را با استفاده از تصادفی‌سازی مرورگر تولید می‌کند. شناسه‌های UUID v4 مقادیر ۱۲۸ بیتی هستند که بیت‌های خاصی برای نشان دادن نسخه (۴) و نوع استاندارد در آن‌ها تنظیم شده است. در صورت در دسترس بودن Web Crypto، تصادفی‌سازی از نظر رمزنگاری قوی است؛ در غیر این صورت، ابزار به یک مولد ضعیف‌تر بازمی‌گردد.

فرمول
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (که در آن y ∈ {8,9,a,b})
v4 نسخه ۴، تولید شده از اعداد تصادفی یا شبه‌تصادفی
نوع (variant) الگوی بیت استاندارد UUID که برای فیلد variant استفاده می‌شود (بیت‌های ۸-۹ از بایت ۸).
مثال

خروجی نمونه: 550e8400-e29b-41d4-a716-446655440000

تولید ۱ UUID یک مقدار واحد مانند a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d ایجاد می‌کند. عدد ۴ در گروه سوم نشان‌دهنده نسخه ۴ است.

تولید ۳ UUID سه مقدار متمایز برمی‌گرداند که هر کدام دارای ۱۲۲ بیت تصادفی هستند. از آن‌ها به عنوان کلیدهای اصلی برای رکوردهای تست یا منابع API استفاده کنید.

مفروضات
  • در صورت در دسترس بودن، از API اعداد تصادفی رمزنگاری‌شده مرورگر استفاده می‌کند.
  • در محیط‌های بدون Web Crypto، به Math.random() بازمی‌گردد که برای سهولت مناسب است اما برای استفاده با امنیت بالا توصیه نمی‌شود.
یادداشت‌ها
  • UUID v4 ترتیبی نیست و برای استفاده به عنوان کلید اصلی قابل مرتب‌سازی در پایگاه‌های داده‌ای که از درج‌های مرتب بهره می‌برند، مناسب نیست.

آشنایی با نسخه‌ها و ساختار UUID

یک UUID (شناسه منحصربه‌فرد جهانی) مقداری ۱۲۸ بیتی است که به صورت ۳۲ رقم هگزادسیمال در پنج گروه (۸-۴-۴-۴-۱۲) نمایش داده می‌شود. در نسخه ۴، از داده‌های تصادفی یا شبه‌تصادفی برای ۱۲۲ بیت استفاده می‌شود و بیت‌های باقی‌مانده نسخه (۴) و نوع (Variant) را مشخص می‌کنند. احتمال تداخل بسیار ناچیز است (حدود ۱ در ۲^۱۲۲)، لذا UUIDها بدون هماهنگی مرکزی منحصربه‌فرد هستند. نسخه‌های دیگر شامل v1 (زمان و آدرس MAC)، v3 و v5 (هش‌های مبتنی بر نام) و v7 (مرتب‌سازی زمانی) می‌باشند. نسخه ۴ به دلیل عدم نیاز به مرجع مرکزی و وضعیت مشترک برای تولید، محبوب‌ترین گزینه برای سیستم‌های توزیع‌شده است.

موارد استفاده UUID برای توسعه‌دهندگان

توسعه‌دهندگان از UUIDها به عنوان کلیدهای اصلی در پایگاه‌های داده، شناسه‌های همبستگی در ردیابی توزیع‌شده و شناسه‌های منحصربه‌فرد در داده‌های ارسالی API استفاده می‌کنند. برخلاف اعداد صحیح افزایشی خودکار، UUIDها می‌توانند در سمت کلاینت یا توسط هر سرویسی بدون تماس با پایگاه داده مرکزی تولید شوند که مقیاس‌پذیری افقی و معماری‌های اول-آفلاین را ساده می‌کند. آن‌ها برای سناریوهای ادغام که در آن چندین سیستم رکوردهایی ایجاد می‌کنند که بعداً ترکیب می‌شوند، ایده‌آل هستند. UUIDها همچنین در پارامترهای وضعیت OAuth، امضاهای وب‌هوک و نام‌گذاری فایل‌ها برای جلوگیری از تداخل ظاهر می‌شوند. هنگام تست، تولید UUIDها در لحظه از هاردکد کردن جلوگیری کرده و داده‌های آزمایشی را بازتولیدپذیر می‌کند. چالش اصلی اندازه (۳۶ کاراکتر) و عدم قابلیت مرتب‌سازی در مقایسه با شناسه‌های ترتیبی است.

سوالات متداول

آیا این UUIDها منحصربه‌فرد هستند؟

برای تمام مقاصد عملی، بله. احتمال تولید یک شناسه تکراری به طرز نجومی کم است (۱ در ۲^۱۲۲).

آیا می‌توانم از این‌ها در محیط عملیاتی استفاده کنم؟

بله، در صورتی که محیط تصادفی‌سازی Web Crypto را فراهم کند. اگر صفحه بدون این API اجرا شود و به Math.random() بازگردد، خروجی را به عنوان شناسه‌های معمولی و نه با امنیت بالا در نظر بگیرید.

نوشته شده توسط یان کرنک مؤسس و توسعه‌دهنده اصلی
بازبینی شده توسط بررسی متدولوژی DigitSum تأیید فرمول و تضمین کیفیت
آخرین به‌روزرسانی ۲۰ اسفند ۱۴۰۴

از این به عنوان یک تخمین استفاده کنید و تصمیمات مهم را با یک متخصص واجد شرایط تأیید نمایید.

ورودی‌ها در مرورگر باقی می‌مانند، مگر اینکه در آینده قابلیتی خلاف آن را صراحتاً اعلام کند.