Iġġenera UUID (v1, v4, v5, v7)

jiġġenera l-UUID tiegħek (Universally Unique Identifier) f'v1, v4, v5 (deterministiku) jew v7 (time-ordered), skont RFC 4122

Għaliex tuża l-UUIDs?

L-UUIDs (Identifikaturi Universalment Uniċi) huma identifikaturi uniċi użati biex jiżguraw l-uniċità f'sistemi u databases differenti mingħajr ma jeħtieġu koordinazzjoni ċentrali. Huma komunement użati f'sistemi distribwiti u applikazzjonijiet tal-web biex jiġġeneraw identifikaturi uniċi għar-riżorsi.

Verżjonijiet UUID appoġġjati

Din l-għodda tappoġġja l-verżjonijiet UUID li ġejjin:

  • Verżjoni 1: ibbażata fuq timestamp u indirizz MAC.
  • Verżjoni 4: iġġenerat bl-addoċċ (l-aktar użat).
  • Verżjoni 5: ibbażata fuq marki tas-swaba SHA-1 ta’ spazju tal-isem u isem (deterministiku: l-istess spazju tal-isem + par ta’ isem dejjem jipproduċi l-istess UUID).
  • Verżjoni 7: ordnat temporanjament, rakkomandat għal ċwievet primarji tad-database moderni (għażla lessikografika = għażla kronoloġika).

UUID v5: spazju tal-isem u isem

Biex tiġġenera UUID v5, trid tagħżel spazju tal-isem standard u tipprovdi isem:

  • DNS: biex tuża meta l-isem ikun isem ta’ dominju (per eżempju cdrn.fr).
  • URL: biex tuża meta l-isem ikun URL (pereżempju https://cdrn.fr/).
  • OID: Uża meta l-isem ikun identifikatur tal-oġġett ISO.
  • X500: Uża meta l-isem ikun isem distint X.500.

Peress li l-ġenerazzjoni hija deterministika, UUID v5 huwa partikolarment adattat biex jipproduċi identifikaturi riproduċibbli minn data stabbli.

Kif tiġġenera UUIDs

Fuq il-home page, tista 'tiġġenera UUIDs billi tagħżel il-verżjoni mixtieqa minn drop-down menu u tikklikkja l-buttuna jiġġeneraw. Għall-verżjoni 5, ipprovdi wkoll l-ispazju tal-isem u l-isem.

Hekk kif UUID jiġi ġġenerat, jidher f'ringiela ta' riżultat aħdar li jindika li ġie ġġenerat b'suċċess. Jekk iseħħ żball, linja ħamra se turi l-messaġġ ta 'żball korrispondenti.

Eżempji ta' kodiċi għall-użu ta' UUIDs iġġenerati

Tista' tuża l-UUIDs iġġenerati fl-applikazzjonijiet tiegħek billi tintegrahom direttament fil-kodiċi tiegħek. Hawn eżempju fil-PHP:


toString() . PHP_EOL;
echo "UUID v5: ". $uuidV5->toString() . PHP_EOL;
echo "UUID v7: ". $uuidV7->toString() . PHP_EOL;
?>

    

Ivvalida u janalizza l-UUIDs

Tista' wkoll tivvalida u tanalizza l-UUIDs eżistenti biex tiddetermina l-verżjoni u l-validità tagħhom. Hawn eżempju ta 'kodiċi fil-PHP:


getFields()->getVersion();
} inkella {
    eku "UUID invalidu";
}
?>

    

Mistoqsijiet frekwenti

X'inhi d-differenza bejn UUID v1, v4, v5 u v7?

v1tgħaqqad timestamp u l-indirizz MAC tal-magna, li jistgħu jiżvelaw informazzjoni sensittiva. v4huwa purament każwali (122 bit każwali), hija l-aktar verżjoni użata. v5huwa deterministiku: l-istess par ta' isem + isem dejjem jipproduċi l-istess UUID grazzi għal hash SHA-1. v7 jinkludi timestamp f'millisekondi fil-bidu tal-identifikatur, li jagħmilha magħżula kronoloġikament u ideali għaċ-ċwievet primarji.

X'inhi l-probabbiltà ta' kolliżjoni ta' UUID v4?

UUID v4 għandu 122 bit każwali, jew bejn wieħed u ieħor 5.3 × 10^36 valuri possibbli. Biex tinkiseb probabbiltà ta' kolliżjoni ta' 50% (paradoss ta' twelid), ikun jeħtieġ li jiġi ġġenerat bejn wieħed u ieħor 2.7 × 10^18 UUID. Fil-prattika, fuq applikazzjoni standard, il-probabbiltà ta 'ħabta hija negliġibbli. Dan huwa dak li jippermetti li jiġu ġġenerati identifikaturi min-naħa tal-klijent mingħajr koordinazzjoni ma' server ċentrali.

Għaliex tuża UUID v7 għal ċavetta primarja tad-database?

UUID v4 imdaħħal f'indiċi B-tree jikkawża frammentazzjoni qawwija: kull inserzjoni taqa 'f'pożizzjoni każwali, li tiddegrada l-prestazzjoni u l-użu tal-cache. UUID v7 jibda b'timestamp f'millisekondi, għalhekk linji ġodda dejjem jiddaħħlu fl-aħħar tal-indiċi. Il-prestazzjoni tal-inserzjoni mbagħad toqrob dik ta' BIGSERIAL, filwaqt li żżomm il-vantaġġi ta' identifikatur universali.

Għal xiex jintużaw id-DNS, l-URL, l-OID u l-ispazji tal-isem X500 tal-UUID v5?

Dawn l-ispazji tal-isem huma UUIDs predefiniti fl-RFC 4122 li jaġixxu bħala prefiss kuntestwali għall-ġenerazzjoni deterministika. DNS jintuża b'isem ta' dominju, URL b'URL sħiħ, OID b'identifikatur ISO ta' oġġett, X500 b'isem distint LDAP. Tista' wkoll tiddefinixxi l-ispazju tal-isem privat tiegħek stess: UUID v4 iġġenerat darba għall-applikazzjoni tiegħek, użat mill-ġdid bħala l-għerq deterministiku għall-identifikaturi v5 kollha tiegħek.

UUID jew awto-inkrement għall-identifikaturi bażi?

L-inkrement awtomatiku jibqa 'effettiv ħafna għal databases monolitiċi u tiżvela faċilment is-sekwenza tal-kitba, li tista' ma tkunx mixtieqa min-naħa tal-API pubblika. L-UUIDs huma l-aktar adattati għal arkitetturi distribwiti, ġenerazzjoni min-naħa tal-klijent, amalgamazzjonijiet ta 'databases, u espożizzjoni pubblika ta' identifikaturi opaki. Il-kompromess ideali fl-2026: UUID v7 fiċ-ċavetta primarja, li tgħaqqad l-universalità, l-opaċità raġonevoli u l-prestazzjoni tajba tal-indiċi.

L-UUIDs iġġenerati jgħaddu minn server ta' parti terza?

Il-ġenerazzjoni titwettaq fl-ambjent cdrn.fr, mingħajr ma ssejjaħ servizz estern. Għal verżjonijiet purament każwali (v4) jew temporali (v7), l-ebda informazzjoni sensittiva mhi meħtieġa bħala input. Għal v5, l-ispazju tal-isem u l-isem li tipprovdi jintużaw għall-kalkolu SHA-1 lokali biss. L-ebda identifikatur iġġenerat mhu illoggjat, tista' tuża l-għodda biex tipproduċi UUIDs maħsuba għal kuntesti kunfidenzjali.

Eżempju ta' talba

curl -X POST https://cdrn.fr/api/v1/tools/uuid-generator/execute \
  -H "Content-Type: application/json" \
  -d '{"version":"uuid_version_1","quantity":3,"namespace":"namespace_dns","name":"..."}'

Skema ta' input

Kamp Tip Meħtieġ Default
version choice (uuid_version_1, uuid_version_4, uuid_version_5, uuid_version_7)
quantity integer 3
namespace choice (namespace_dns, namespace_url, namespace_oid, namespace_x500)
name string

Endpoints

  • GET https://cdrn.fr/api/v1/tools - telenka l-għodod kollha disponibbli
  • GET https://cdrn.fr/api/v1/tools/uuid-generator - tikseb l-iskema ta' din l-għodda
  • POST https://cdrn.fr/api/v1/tools/uuid-generator/execute - teżegwixxi din l-għodda b'payload JSON