UUID जनरेटर

एक पेशेवर UUID जनरेशन और सत्यापन टूल जो v1 (टाइमस्टैम्प), v4 (रैंडम), v5 (नाम-आधारित) और v7 (यूनिक्स टाइम + रैंडम) सहित कई UUID संस्करणों का समर्थन करता है। कस्टमाइज़ करने योग्य संख्या के साथ बैच जनरेशन, अपरकेस रूपांतरण, हाइफ़न हटाना और ब्रेस जोड़ना जैसे लचीले फ़ॉर्मैटिंग विकल्प प्रदान करता है। इसमें संस्करण पहचान के साथ अंतर्निहित UUID वैलिडेटर शामिल है और बहुभाषी कोड उदाहरण प्रदान करता है। डेटाबेस रिकॉर्ड पहचान, लॉग ट्रेसिंग, क्रॉस-सिस्टम इंटरफ़ेस और अन्य परिदृश्यों के लिए उपयुक्त। सभी संचालन आपके ब्राउज़र में स्थानीय रूप से किए जाते हैं, जिससे गोपनीयता और सुरक्षा सुनिश्चित होती है।

UUID जनरेटर

फ़ॉर्मैट विकल्प

UUID वैलिडेटर

उपयोग गाइड

UUID 128-बिट पहचानकर्ता हैं, जो आमतौर पर हाइफ़न वाले 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 क्या है?

UUID 128-बिट पहचानकर्ता हैं, जो आमतौर पर हाइफ़न वाले 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 सामान्य उपयोग के मामले

  • डेटाबेस रिकॉर्ड या संसाधनों के लिए विशिष्ट पहचानकर्ता
  • लॉगिंग और ईवेंट ट्रेसिंग के लिए ट्रेस आईडी
  • अप्रत्याशित सार्वजनिक पहचानकर्ता
  • सिस्टम एकीकरण में सुसंगत पहचानकर्ता

UUID FAQs और सावधानियां

  • v1 और गोपनीयता: v1 टाइमस्टैम्प या हार्डवेयर स्थानों को उजागर कर सकता है; गोपनीयता संवेदनशील उपयोग के मामलों के लिए v4 पसंद करें।
  • केस संवेदनशीलता: UUID मैच करना केस-असंवेदनशील है।
  • हाइफ़न केवल पठनीयता के लिए है; विरासत प्रणालियों की बाधा के बिना इसे रखें।
  • ब्रेस वाला प्रारूप (उदाहरण के लिए {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}) कुछ वातावरणों (जैसे Windows रजिस्ट्री) में स्वीकार किया जाता है।
  • v5 निर्धारित है: समान नेमस्पेस + नाम => समान UUID। इडम्पोटेंट ऑपरेशन के लिए आदर्श; जब अप्रत्याशितता की आवश्यकता हो तो इसका उपयोग न करें।

प्रोग्रामिंग भाषाओं में UUID का उपयोग कैसे करें

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 */ }