UUID جنریٹر

پیشہ ورانہ UUID جنریشن اور توثیق کرنے والا ٹول جو متعدد UUID ورژنز کو سپورٹ کرتا ہے، جن میں v1 (ٹائم اسٹیمپ)، v4 (بے ترتیب)، v5 (نام پر مبنی)، اور v7 (یونکس ٹائم + بے ترتیب) شامل ہیں۔ حسب ضرورت تعداد کے ساتھ بیچ جنریشن پیش کرتا ہے، لچکدار فارمیٹنگ کے اختیارات بشمول بڑے حروف میں تبدیلی، ہائفن ہٹانا، اور بریس شامل کرنا۔ بلٹ ان UUID توثیق کار جس میں ورژن کا پتہ لگانے والی سہولت بھی شامل ہے اور کثیر لسانی کوڈ کی مثالیں فراہم کرتا ہے۔ ڈیٹا بیس ریکارڈ کی شناخت، لاگ ٹریسنگ، کراس سسٹم انٹرفیسز، اور دیگر منظرناموں کے لیے موزوں ہے۔ تمام کام آپ کے براؤزر میں مقامی طور پر ہوتے ہیں، جو رازداری اور سلامتی کو یقینی بناتا ہے۔

UUID جنریٹر

فارمیٹ کے اختیارات

UUID توثیق کار

استعمال کا گائیڈ

UUIDs 128-bit شناخت کنندہ ہیں، عام طور پر 36 حروف کی تاروں کے طور پر ہائفن کے ساتھ پیش ہوتے ہیں۔
UUID v1: ٹائم اسٹیمپ اور MAC ایڈریس پر مبنی؛ وقت کے لحاظ سے ترتیب میں ہوتا ہے لیکن وقت یا مقام کی معلومات لیک کر سکتا ہے۔
UUID v4: تصادفی طور پر تیار کیا گیا؛ سب سے زیادہ استعمال ہونے والا، مضبوط انفرادیت اور رازداری فراہم کرتا ہے۔
UUID v7: یونیکس ملی سیکنڈز + بے ترتیب بٹس پر مبنی؛ قدرتی طور پر ترتیب دے سکتا ہے اور v1 کے رازداری کے مسائل سے بچتا ہے۔
UUID v5: SHA-1 کا استعمال کرتے ہوئے نام کی جگہ UUID اور نام سے تعیناتی طور پر تیار کیا گیا؛ ایک جیسے ان پٹس ہمیشہ ایک جیسا آؤٹ پٹ پیدا کرتے ہیں۔
معیاری شکل: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36 حروف)۔

خصوصیات

  • UUID v1, v4, v5 اور v7 کی حمایت کرتا ہے
  • حسب ضرورت تعداد کے ساتھ بلک جنریشن
  • لچکدار فارمیٹنگ: بڑے حروف، ہائفنز ہٹانا، قوسین شامل کرنا
  • خودکار ورژن کا پتہ لگانے کے ساتھ بلٹ ان توثیق کنندہ
  • مکمل بین الاقوامی کاری اور کثیر تھیم سپورٹ

UUID کیا ہے؟

UUIDs 128-bit شناخت کنندہ ہیں، عام طور پر 36 حروف کی تاروں کے طور پر ہائفن کے ساتھ پیش ہوتے ہیں۔

UUID v1: ٹائم اسٹیمپ اور MAC ایڈریس پر مبنی؛ وقت کے لحاظ سے ترتیب میں ہوتا ہے لیکن وقت یا مقام کی معلومات لیک کر سکتا ہے۔

UUID v4: تصادفی طور پر تیار کیا گیا؛ سب سے زیادہ استعمال ہونے والا، مضبوط انفرادیت اور رازداری فراہم کرتا ہے۔

UUID v7: یونیکس ملی سیکنڈز + بے ترتیب بٹس پر مبنی؛ قدرتی طور پر ترتیب دے سکتا ہے اور v1 کے رازداری کے مسائل سے بچتا ہے۔

UUID v5: SHA-1 کا استعمال کرتے ہوئے نام کی جگہ UUID اور نام سے تعیناتی طور پر تیار کیا گیا؛ ایک جیسے ان پٹس ہمیشہ ایک جیسا آؤٹ پٹ پیدا کرتے ہیں۔

UUID فوری مثالیں

معیاری شکل:
550e8400-e29b-41d4-a716-446655440000
بڑے حروف کی شکل:
550E8400-E29B-41D4-A716-446655440000
بغیر ہائفنز:
550e8400e29b41d4a716446655440000
قوسین کے ساتھ:
{550e8400-e29b-41d4-a716-446655440000}

UUID عام استعمال کے منظرنامے

  • ڈیٹا بیس ریکارڈز یا وسائل کے لیے منفرد شناخت کنندہ
  • لاگنگ اور ایونٹ ٹریسنگ کے لیے ٹریس IDs
  • غیر متوقع عوامی شناخت کنندہ
  • سسٹم انٹیگریشنز میں مستقل شناخت کنندہ

UUID عمومی سوالات اور غلطیاں

  • v1 اور رازداری: v1 ٹائم اسٹیمپ یا ہارڈویئر لوکیشنز کو ظاہر کر سکتا ہے؛ رازداری سے متعلق استعمال کے لیے v4 کو ترجیح دیں۔
  • حساسیت کیس: UUID ممچنگ کیس-insensitive ہے۔
  • ہائفنز صرف پڑھنے کے لیے ہیں؛ انہیں اس وقت تک رکھیں جب تک کہ پرانے سسٹمز کی پابندی نہ ہو۔
  • قوس والی شکل (مثال کے طور پر {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}) کچھ ماحول میں قبول کی جاتی ہے (مثال کے طور پر Windows Registry)۔
  • v5 تعیناتی پر مبنی ہے: ایک جیسی جگہ + نام = ایک جیسا UUID۔ Idempotent آپریشنز کے لیے مثالی ہے؛ اس وقت سے بچیں جب غیر متوقعیت درکار ہو۔

پروگرامنگ زبانوں میں UUIDs کا استعمال کیسے کریں

JavaScript
تیار کریں
// UUID v4 (simple)
function uuidv4(){
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
    const r = Math.random()*16|0, v = c === 'x' ? r : (r&0x3|0x8);
    return v.toString(16);
  });
}
const id = uuidv4();
UUID v7 (یونکس ٹائم + بے ترتیب)
// UUID v7 (Unix ms + randomness)
function uuidv7(){
  const cryptoObj = (globalThis.crypto || globalThis.msCrypto);
  const rb = n => { const a = new Uint8Array(n); cryptoObj?.getRandomValues ? cryptoObj.getRandomValues(a) : a.forEach((_,i)=>a[i]=Math.random()*256|0); return a; };
  const hex = b => Array.from(b).map(x=>x.toString(16).padStart(2,'0')).join('');
  const ts = BigInt(Date.now()).toString(16).padStart(12,'0');
  const ver = rb(2); ver[0] = (ver[0] & 0x0f) | 0x70;    // set version 7
  const vrn = rb(2); vrn[0] = (vrn[0] & 0x3f) | 0x80;    // RFC4122 variant
  const tail = rb(6);
  return `${ts.slice(0,8)}-${ts.slice(8,12)}-${hex(ver)}-${hex(vrn)}-${hex(tail)}`;
}
const id7 = uuidv7();
توثیق کریں
const re=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-57][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
re.test(id); // true/false
PHP
تیار کریں
<?php
// v4 using random_bytes
function uuidv4(){
  $data = random_bytes(16);
  $data[6] = chr((ord($data[6]) & 0x0f) | 0x40);
  $data[8] = chr((ord($data[8]) & 0x3f) | 0x80);
  return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
$id = uuidv4();
UUID v7 (یونکس ٹائم + بے ترتیب)
<?php
// composer require ramsey/uuid:^4.7
use Ramsey\Uuid\Uuid;

$uuid7 = Uuid::uuid7();
توثیق کریں
<?php
$re = '/^[0-9a-f]{8}-[0-9a-f]{4}-[1-57][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i';
preg_match($re, $id) === 1; // true/false
Python
تیار کریں
import uuid
# v4
uid = uuid.uuid4()
# v1
uid1 = uuid.uuid1()
UUID v7 (یونکس ٹائم + بے ترتیب)
# pip install uuid6
from uuid6 import uuid7

uid7 = uuid7()
توثیق کریں
import re
re_uuid = re.compile(r'^[0-9a-f]{8}-[0-9a-f]{4}-[1-57][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$', re.I)
bool(re_uuid.match(str(uid)))
Go
تیار کریں
// go get github.com/google/uuid
import "github.com/google/uuid"

id := uuid.New()     // v4
id1 := uuid.NewUUID() // v1 (may return error)
UUID v7 (یونکس ٹائم + بے ترتیب)
// go get github.com/gofrs/uuid/v5
import (
  uuid "github.com/gofrs/uuid/v5"
)

id7, err := uuid.NewV7()
توثیق کریں
import "github.com/google/uuid"
_, err := uuid.Parse(id.String()) // err == nil means valid
Rust
تیار کریں
// Cargo.toml: uuid = { version = "1", features = ["v4", "v1"] }
use uuid::Uuid;

let v4 = Uuid::new_v4();
// v1 requires a context/ts, often via external crate; shown for completeness
UUID v7 (یونکس ٹائم + بے ترتیب)
// Cargo.toml: uuid = { version = "1", features = ["v7"] }
use uuid::Uuid;

let v7 = Uuid::now_v7();
توثیق کریں
use uuid::Uuid;
let ok = Uuid::parse_str(v4.to_string().as_str()).is_ok();
Java
تیار کریں
import java.util.UUID;

UUID id = UUID.randomUUID(); // v4
UUID v7 (یونکس ٹائم + بے ترتیب)
// Maven: com.github.f4b6a3:uuid-creator
import com.github.f4b6a3.uuid.UuidCreator;

UUID v7 = UuidCreator.getTimeOrderedEpoch(); // UUIDv7
توثیق کریں
import java.util.UUID;

try { UUID.fromString(id.toString()); /* valid */ } catch (IllegalArgumentException ex) { /* invalid */ }