تولید شناسه یکتای جهانی (UUID / ULID)
راهنما و کاربرد شناسههای UUID و ULID
راهنماشناسه یکتای جهانی یا به اختصار UUID (مخفف Universally Unique Identifier)، یک عدد ۱۲۸ بیتی استاندارد است که به صورت رشتهای ۳۶ کاراکتری متشکل از اعداد هگزادسیمال و خط تیره نمایش داده میشود. به دلیل طول ۱۲۸ بیتی و تصادفی بودن آن، احتمال ایجاد دو شناسه یکسان عملاً صفر بوده و بدون نیاز به سرور مرکزی یا قفلگذاری در پایگاه داده میتوان کلیدهای یکتا ایجاد کرد.
مقایسه نسخههای مختلف:
کاملاً تصادفی (Random). متداولترین نوع شناسه در وب و سیستمهای نامتمرکز که هیچ اطلاعاتی از زمان در خود ندارد.
زمانمحور (Time-ordered). ۴۸ بیت اول شامل زمان فعلی است؛ بسیار مناسب برای ایندکسهای B-Tree در دیتابیسهای PostgreSQL و MySQL.
طول ۲۶ کاراکتر با رمزنگاری Base32. دارای قابلیت مرتبسازی زمانی، بدون نیاز به خط تیره و سازگار با آدرسهای اینترنتی.
کاربردهای متداول:
کلیدهای اصلی (Primary Key) در پایگاههای داده توزیعشده، شناسههای پیگیری درخواستها (Trace ID)، نامگذاری امن فایلهای آپلودی کاربر برای جلوگیری از بازنویسی، و ایجاد توکنهای نشست و اعتبارسنجی کوتاهمدت.
سوالات متداول (FAQ)
آیا احتمال تکرار یا تصادم دو UUID وجود دارد؟
تعداد کل حالات ممکن برای UUID نسخه ۴ برابر با ۲ به توان ۱۲۲ (حدود ۵ ضرب در ۱۰ به توان ۳۶ حالت) است. برای اینکه تنها ۱ درصد احتمال تصادم ایجاد شود، باید صدها میلیارد شناسه در هر ثانیه برای مدت طولانی تولید شوند؛ بنابراین احتمال تصادم عملاً صفر است.
چه تفاوتی بین UUID v4 و UUID v7 در پایگاه داده وجود دارد؟
نسخه ۴ کاملاً تصادفی است و درج آن در ایندکسهای دیتابیس باعث قطعهقطعه شدن صفحات ایندکس (Index Fragmentation) و افت سرعت درج میشود. اما نسخه ۷ ترتیبی و افزایشی است و عملکرد درج در جدولهای بزرگ را تا چندین برابر بهبود میبخشد.
آیا شناسههای تولید شده امن هستند؟
بله، تولید اعداد در این ابزار توسط موتور رمزنگاری سختافزاری مرورگر (crypto.getRandomValues) انجام میشود و مقادیر کاملاً شبهتصادفی امن رمزنگاری (CSPRNG) هستند.
زر اسکن
نمایش لحظه ای قیمت طلا، ارز و سکه و ابزار های محاسبه قیمت طلاابزارهای مشابه
کدگذاری (Encode) و رمزگشایی (Decode) متن و آدرس URL با پشتیبانی از یونیکد و فارسی؛ مناسب کار با query string
مشاهده سریع و دقیق آدرس آیپی عمومی (Public IP) به همراه کشور، شهر، ارائهدهنده اینترنت (ISP)، نوع پروتکل، مرورگر و سیستمعامل