UUID জেনারেটর

একটি পেশাদার UUID জেনারেশন ও ভ্যালিডেশন টুল যা v1 (টাইমস্ট্যাম্প), v4 (র্যান্ডম), v5 (নাম-ভিত্তিক) এবং v7 (ইউনিক্স টাইম + র্যান্ডম) সহ একাধিক UUID সংস্করণ সমর্থন করে। কাস্টমাইজযোগ্য সংখ্যাসহ ব্যাচ জেনারেশন, বড় হরফে রূপান্তর, হাইফেন অপসারণ এবং ব্রেস যুক্ত করসহ নমনীয় ফরম্যাটিং অপশন প্রদান করে। সংস্করণ সনাক্তকরণসহ অন্তর্নির্মিত UUID ভ্যালিডেটর এবং বহুভাষিক কোড উদাহরণ প্রদান করে। ডাটাবেস রেকর্ড সনাক্তকরণ, লগ ট্রেসিং, ক্রস-সিস্টেম ইন্টারফেস এবং অন্যান্য প্রয়োগের জন্য উপযুক্ত। সমস্ত অপারেশন আপনার ব্রাউজারে স্থানীয়ভাবে সম্পন্ন হয়, যা গোপনীয়তা ও সুরক্ষা নিশ্চিত করে।

UUID জেনারেটর

ফরম্যাট অপশন

UUID ভ্যালিডেটর

ব্যবহার গাইড

UUID হলো 128-বিট সনাক্তকারী, সাধারণত হাইফেনযুক্ত 36-ক্যারেক্টার স্ট্রিং আকারে প্রতিনিধিত্ব করা হয়।
UUID v1: টাইমস্ট্যাম্প এবং ম্যাক অ্যাড্রেসের উপর ভিত্তি করে; টাইম-অর্ডারড কিন্তু সময় বা অবস্থানের তথ্য ফাঁস করতে পারে।
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: টাইমস্ট্যাম্প এবং ম্যাক অ্যাড্রেসের উপর ভিত্তি করে; টাইম-অর্ডারড কিন্তু সময় বা অবস্থানের তথ্য ফাঁস করতে পারে।

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 Registry) গ্রহণযোগ্য।
  • 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 */ }