ساخت UUID و GUID
UUID و GUID بساز، تکی یا هزارتایی، با فرمت دلخواه کدت.
قالب
دربارهٔ این ابزار
UUID یه عدد ۱۲۸ بیتیه که بهعنوان شناسه یکتا استفاده میشه — برای ردیف دیتابیس، کلید API، توکن سشن یا رکورد تو سیستمهای توزیعشده. فایدهاش اینه که بدون هماهنگی با هیچ سرور مرکزی میتونی شناسه بسازی و تقریباً مطمئن باشی تکراری نمیشه. اینجا تا هزار تا یکجا میگیری، با همون فرمتی که کدت انتظار داره.
UUID و GUID فرقی دارن؟
عملاً نه. GUID اسمیه که مایکروسافت برای همین فرمت ۱۲۸ بیتی استاندارد (RFC 4122) گذاشته. هر UUID ای که اینجا بسازی، بهعنوان GUID هم کار میکنه. فقط مایکروسافت معمولاً فرمت آکولاددار {8-4-4-4-12} رو میخواد که با یه تیک تو همین ابزار فعال میشه.
v4 بزنم یا v1؟
v4 بزن. مگر اینکه دلیل خاصی داشته باشی که زمان ساخت باید داخل خود شناسه کدگذاری بشه. نسخه ۴ کاملاً تصادفیه و وقتی جایی میگن «UUID»، تقریباً همیشه منظورشون همینه — تو دیتابیس، API و توکن سشن.
نسخه ۱ زمان ساخت و یه شناسه دستگاه رو داخل خودش نگه میداره، که یعنی ممکنه اطلاعات زمان و مبدأ ساخت شناسه رو لو بده. این ابزار اون قسمت دستگاه رو تصادفی میکنه، چون مرورگر اصلاً به آدرس MAC دسترسی نداره — همون کاری که بیشتر پیادهسازیهای امروزی v1 میکنن.
گزینه سوم، Nil UUID، یه مقدار رزروشده تماماً صفره که بهعنوان placeholder استفاده میشه؛ یعنی «هنوز شناسهای ندارم».
واقعاً تکراری نمیشه؟
UUID نسخه ۴، ۱۲۲ بیت تصادفی داره که اینجا با crypto.getRandomValues() ساخته میشه، نه Math.random(). احتمال برخورد اونقدر کمه که عملاً صفره — برای اینکه از نظر آماری محتمل بشه، باید میلیاردها UUID در ثانیه بسازی، اونم برای چند قرن.
کجا به کارت میاد
- ساخت دیتای تستی با شناسههای واقعگرایانه، قبل از اینکه دیتابیس و auto-increment راه بیفته.
- ساخت دستهای کلید API، request ID یا idempotency key برای یه اسکریپت یا کالکشن Postman.
- گرفتن GUID با فرمت آکولاددار برای .NET و APIهای قدیمی ویندوز.
- ساخت شناسه یکتا برای المنتها یا کلید feature flag موقع کار روی فرانتاند.
دادهام جایی میره؟
نه. همه UUIDها تو مرورگر خودت ساخته میشن. هیچی به سرور فرستاده یا لاگ نمیشه. اینترنتت رو هم قطع کنی، بازم کار میکنه.
