UUID Generator

UUID Generator

UUID (GUID) نسخه 4 مطابق با RFC 4122 را با استفاده از تصادفی‌سازی امن رمزنگاری، به‌طور کامل در مرورگر خود بسازید.

UUID (Universally Unique Identifier، که در Windows به آن GUID می‌گویند) یک عدد 128 بیتی است که برای شناسایی منحصربه‌فرد داده‌ها میان سیستم‌ها بدون مرجع مرکزی استفاده می‌شود. UUID نسخه 4 از اعداد تصادفی تولید می‌شود.

عملاً بله. UUID v4 دارای 122 بیت تصادفی است که 2^122 ≈ 5.3 × 10^36 احتمال می‌دهد. احتمال برخورد حتی با تولید میلیاردها در ثانیه برای هزاره‌ها ناچیز است.

نکته: برای ساخت دوباره، Space یا R را فشار دهید.

چرا UUID Generator؟

مطابق با RFC 4122، تصادفی رمزنگاری، کاملاً سمت کاربر.

امن از نظر رمزنگاری

از crypto.randomUUID یا crypto.getRandomValues استفاده می‌کند — همان تولیدکننده عدد تصادفی امن رمزنگاری مرورگر که بانک‌ها و مدیران رمز عبور از آن استفاده می‌کنند.

مطابق با RFC 4122

UUID نسخه 4 واقعی با بیت‌های نسخه صحیح (4xxx) و بیت‌های variant (10xx) تولید می‌کند. یکتایی برای تمام اهداف عملی تضمین می‌شود (2^122 احتمال).

25 زبان

در 25 زبان با تشخیص خودکار مرورگر موجود است. پشتیبانی RTL برای عربی، فارسی و اردو.

تولید دسته‌ای

از 1 تا 10 UUID را به‌یک‌باره بسازید. UUID های تک‌تک را کپی کنید، همه را یکجا کپی کنید یا به‌صورت فایل.txt دانلود کنید.

فرمت‌های متعدد

حروف کوچک استاندارد، حروف بزرگ، بدون خط تیره یا با آکولاد {} — برای هر سیستمی که آنها را مصرف می‌کند (SQL Server،.NET، Postgres و غیره).

حریم خصوصی بر اساس طراحی

همه UUID ها به‌طور کامل در مرورگر شما تولید می‌شوند. چیزی به هیچ سروری ارسال نمی‌شود، بدون لاگ، بدون تله‌متری.

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

UUIDهای RFC 4122 v4 از CSPRNG مرورگر شما، تکی یا دسته‌ای.

  1. 1

    تعداد را انتخاب کنید

    یک UUID تکی، یک دسته کوچک (۱۰ / ۱۰۰)، یا تا ۱۰٬۰۰۰ به‌طور همزمان برای پر کردن داده‌های آزمون تولید کنید. دسته‌های بزرگ‌تر به‌صورت استریم در textarea جای می‌گیرند تا صفحه قفل نشود.

  2. 2

    crypto.randomUUID کار را انجام می‌دهد

    مرورگرهای مدرن crypto.randomUUID را در دسترس قرار می‌دهند، که یک UUID از نوع RFC 4122 v4 را با استفاده از همان تصادفی‌سازی پشتیبانی‌شده با سخت‌افزار crypto.getRandomValues تولید می‌کند. ما مستقیماً از آن استفاده می‌کنیم — بدون کتابخانه شخص ثالث و بدون افت کیفیت.

  3. 3

    گزینه‌های قالب‌بندی

    حروف کوچک (پیش‌فرض)، حروف بزرگ، با/بدون خط‌تیره، یا با آکولاد (قالب GUID مایکروسافت) را انتخاب کنید. این تبدیل صرفاً جایگزینی رشته است؛ تصادفی‌سازی زیربنایی یکسان است.

  4. 4

    کپی یا دانلود به‌صورت CSV

    کپی یک‌کلیکی یک UUID تکی را روی کلیپ‌بورد شما قرار می‌دهد. برای دسته‌ها، به‌صورت یک فایل .csv با یک UUID در هر خط دانلود کنید — مفید برای seed کردن پایگاه داده یا تولید fixture آزمون.

چه زمانی به سراغ UUID v4 برویم

طرح‌های ID متفاوت، مزایا و معایب متفاوت دارند.

کلیدهای اصلی پایگاه داده (زمانی که ترتیب مهم نیست)

v4 کاملاً تصادفی است، بنابراین درج‌ها را در صفحات B-tree پخش می‌کند به جای اینکه آخرین صفحه را شلوغ کند. برای جدول‌هایی با حجم نوشتن کم تا متوسط مناسب است؛ برای جدول‌های با حجم نوشتن بالا، UUID v7 (با پیشوند زمانی) را برای محلی بودن index در نظر بگیرید.

شناسه‌های درخواست API

برای هر درخواست یک UUID تازه تولید کنید تا لاگ‌ها را در سراسر سرویس‌ها مرتبط کنید. v4 به اندازه کافی منحصربه‌فرد است — احتمال تصادم از نظر ریاضی ناچیز است.

پر کردن داده‌های آزمون

به ۱٬۰۰۰ شناسه منحصربه‌فرد برای یک fixture آزمون نیاز دارید؟ یک دسته تولید کنید، در seeder خود بچسبانید، تمام. سریع‌تر از فراخوانی ۱٬۰۰۰ بار تابع UUID پایگاه داده.

claim های jti در JWT

وقتی یک JWT را امضا می‌کنید، claim ای به نام jti (JWT ID) باید برای هر توکن منحصربه‌فرد باشد. v4 انتخاب استاندارد است — یک مورد تازه را در کد امضای توکن خود بچسبانید.

چرا یک CSPRNG محلی اهمیت دارد

اگر یک تولیدکننده UUID تصادفی‌سازی را از سرور بگیرد، دو حالت شکست ظاهر می‌شود: سرور می‌تواند شناسه‌هایی که تولید کرده‌اید را افشا کند (آن‌ها را به IP شما پیوند دهد)، یا — بدتر — اگر RNG آن ضعیف باشد، شناسه‌های قابل پیش‌بینی تولید کند. iKit مستقیماً از CSPRNG پشتیبانی‌شده با سخت‌افزار مرورگر شما استفاده می‌کند، بنابراین هیچ‌کدام از این موارد ممکن نیستند.

  • crypto.randomUUID غیر قطعی و استاندارد است.
  • شناسه‌های تولیدشده هرگز از مرورگر خارج نمی‌شوند؛ حتی دانلود دسته‌ای هم محلی می‌ماند.
  • بدون تحلیل استفاده روی آنچه تولید کرده‌اید.

راهنماهای مرتبط

آموزش‌های تخصصی و مقایسه ابزارها از وبلاگ iKit.

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

UUID چیست؟

UUID (Universally Unique Identifier، که در Windows به آن GUID می‌گویند) یک عدد 128 بیتی است که برای شناسایی منحصربه‌فرد داده‌ها میان سیستم‌ها بدون مرجع مرکزی استفاده می‌شود. UUID نسخه 4 از اعداد تصادفی تولید می‌شود.

آیا این UUID ها واقعاً یکتا هستند؟

عملاً بله. UUID v4 دارای 122 بیت تصادفی است که 2^122 ≈ 5.3 × 10^36 احتمال می‌دهد. احتمال برخورد حتی با تولید میلیاردها در ثانیه برای هزاره‌ها ناچیز است.

آیا این UUID ها به سروری ارسال می‌شوند؟

خیر. تولید به‌طور کامل در مرورگر شما از طریق Web Crypto API جاوااسکریپت انجام می‌شود. هنگام تولید UUID هیچ درخواست شبکه‌ای ارسال نمی‌شود. خودتان در تب Network مرورگر تأیید کنید.

تفاوت UUID و GUID چیست؟

آنها یک چیز هستند. GUID (Globally Unique Identifier) نام مایکروسافت برای همان شناسه 128 بیتی تعریف شده توسط RFC 4122 است. این ابزار شناسه‌هایی تولید می‌کند که با هر دو سازگار هستند.

آیا می‌توانم از آنها به عنوان primary key استفاده کنم؟

بله، UUID ها به‌طور رایج به‌عنوان primary key در سیستم‌های توزیع‌شده استفاده می‌شوند. اما v4 تصادفی است — اگر به ID های قابل مرتب‌سازی/زمان‌مند (ULID، v7، Snowflake) نیاز دارید، از طرحی دیگر برای جلوگیری از قطعه‌قطعه شدن شاخص B-tree استفاده کنید.