تولیدکننده UUID
UUID نسخه ۴ (شناسههای یکتای جهانی تصادفی) را تولید کنید. هر کلیک یک نمونه جدید تولید میکند.
UUID چیست و چرا نرمافزارها از آن استفاده میکنند؟
یک UUID (Universally Unique Identifier، که گاهی در زمینههای مایکروسافت GUID نامیده میشود) یک مقدار ۱۲۸ بیتی است که برای شناسایی موجودیتها بدون نیاز به هماهنگی میان سیستمها استفاده میشود. ایده UUID این است که دو برنامه متفاوت، که روی دو دستگاه متفاوت اجرا میشوند و از یکدیگر بیخبرند، میتوانند UUID تولید کنند و با اطمینان فرض کنند که هرگز با هم تصادم نخواهند کرد. این ویژگی طراحی سیستمهای توزیعشده را ممکن میسازد: میتوانید به هر سرویسی اجازه دهید شناسهها را بهصورت محلی و بدون یک شمارنده مرکزی بسازد، پایگاههای داده را بدون شمارهگذاری مجدد ردیفها ادغام کنید و شناسهها را در سمت کلاینت پیش از آنکه سرور حتی درخواست را ببیند، از پیش تولید کنید. UUIDها پنج نسخه متعارف دارند که در RFC 4122 تعریف شدهاند: v1 (مبتنی بر زمان + آدرس MAC، که زمان ایجاد و هویت دستگاه را لو میدهد)، v3 (هش MD5 از یک فضای نام + نام)، v4 (تصادفی، رایجترین)، v5 (هش SHA-1 از یک فضای نام + نام). RFC 9562 نسخه v6 (مرتبشده بر اساس زمان، مانند v1 اما بدون لو دادن MAC) و v7 (Unix timestamp + تصادفی، که بهطور خاص برای کلیدهای اصلی پایگاه داده طراحی شده زیرا به ترتیب زمانی مرتب میشود) را افزود. این ابزار UUID نسخه ۴ را با crypto.randomUUID() تولید میکند که از تصادفیبودن قدرتمند رمزنگارانه سیستمعامل زیرین مرورگر استفاده میکند، همان منبعی که کلیدهای TLS از آن میآیند. خروجی بایتبهبایت با خروجی uuid.uuid4() پایتون، crypto.randomUUID() نود و google/uuid.NewRandom() گو یکسان است.
موارد استفاده رایج
کلیدهای اصلی پایگاهداده: زمانی که نیاز به ادغام پایگاهدادهها یا تولید شناسه در سمت کلاینت دارید، جایگزین اعداد صحیح خودافزاینده کنید.
شناسههای نشست در کوکیها: بهاندازهی کافی بلند که حدسزدن یک شناسهی نشست معتبر با حملهی فراگیر از نظر محاسباتی ناممکن باشد.
کلیدهای خنثیسازی تکرار (idempotency) برای درخواستهای API: درخواست را با خیال راحت تکرار کنید؛ سرور بر اساس UUID تکرارها را حذف میکند.
شناسههای بارگذاری فایل: فایلهای بارگذاریشده را با UUID نامگذاری کنید تا از تصادم مسیر جلوگیری و از افشای نام فایل اصلی پرهیز شود.
شناسههای ردیابی توزیعشده: هر درخواست یک UUID میگیرد که در سراسر سرویسها برای همبستگی گزارشها منتشر میشود.
شناسههای دادهی آزمون: تصادفی بودنِ قابل پیشبینی برای دادهی آزمون، بدون هماهنگکردن شناسهها میان موارد آزمون.
پرسشهای متداول
v4 به چه معناست؟▼
UUIDها واقعاً چقدر یکتا هستند؟▼
برای کلیدهای اصلی پایگاه داده باید از v4 استفاده کنم یا v7؟▼
آیا استفاده از crypto.randomUUID() امن است؟▼
تفاوت بین UUID و GUID چیست؟▼
آیا میتوانم یک UUID را برای استفاده در URLها کوتاه کنم؟▼
چرا UUID من با همان کاراکترهای UUID دیگری شروع میشود؟▼
ابزارهای مرتبط
کدگشای JWT
توکنهای JSON Web Token (JWT) را فوراً کدگشایی کنید. در مرورگر شما اجرا میشود: توکنها هرگز از دستگاه شما خارج نمیشوند، پس استفاده از آن با اسرار محیط تولید (production) امن است.
قالببند و اعتبارسنج JSON
JSON را بهصورت آنلاین قالببندی، اعتبارسنجی و فشرده کنید. کاملاً در مرورگر شما کار میکند: دادههای شما هرگز دستگاهتان را ترک نمیکنند.
قالببند XML
اسناد XML را قالببندی و زیبا کنید. مفید برای SOAP، نقشههای سایت، فیدهای RSS و فایلهای پیکربندی.
کدگذار و کدگشای Base64
رشتهها را به Base64 کدگذاری یا Base64 را به متن کدگشایی کنید. به حریم خصوصی شما احترام میگذارد: در مرورگر شما اجرا میشود.
کدگذار و کدگشای URL
متن را به کدگذاری امن برای URL (کدگذاری درصدی) و برعکس تبدیل کنید. مفید برای رشتههای پرسوجو، تغییر مسیرها و جریانهای OAuth.
کدگذار و کدگشای موجودیتهای HTML
کاراکترهای خاص را به موجودیتهای HTML (&، < و غیره) و برعکس تبدیل میکند. برای جایدادن امن متن در HTML مفید است.