Gin UUID (v1, v4, v5, v7)
- Deais
- Doiciméadú
- API
Cén fáth UUIDanna a úsáid?
Is aitheantóirí uathúla iad UUIDs (Aitheantóirí Uathúla) a úsáidtear chun uathúlacht a chinntiú thar chórais agus bunachair shonraí éagsúla gan gá le comhordú lárnach. Úsáidtear iad go coitianta i gcórais dáilte agus i bhfeidhmchláir ghréasáin chun aitheantóirí uathúla a ghiniúint le haghaidh acmhainní.
Leaganacha UUID tacaithe
Tacaíonn an uirlis seo leis na leaganacha UUID seo a leanas:
- Leagan 1: bunaithe ar stampa ama agus ar sheoladh MAC.
- Leagan 4: ginte go randamach (is mó a úsáidtear).
- Leagan 5: bunaithe ar mhéarloirg SHA-1 d'ainmspás agus ainm (cinntitheach: beidh an t-ainmspás céanna + ainm péire an UUID céanna i gcónaí).
- Leagan 7: in ord ama, molta d'eochracha príomhúla bunachar sonraí nua-aimseartha (sórtáil foclóireachta = sórtáil croineolaíoch).
UUID v5: ainmspás agus ainm
Chun UUID v5 a ghiniúint, ní mór duit ainmspás caighdeánach a roghnú agus ainm a sholáthar:
- DNS: le húsáid nuair is ainm fearainn an t-ainm (mar shampla
cdrn.fr). - URL: le húsáid nuair is URL an t-ainm (mar shampla
https://cdrn.fr/). - OID: Úsáid nuair is aitheantóir oibiachta ISO an t-ainm.
- X500: Úsáid nuair is ainm sainaitheanta X.500 an t-ainm.
Ós rud é go bhfuil an ghiniúint cinntitheach, tá UUID v5 an-oiriúnach chun aitheantóirí in-atáirgthe a tháirgeadh ó shonraí cobhsaí.
Conas UUIDanna a ghiniúint
Ar an leathanach baile, is féidir leat UUIDanna a ghiniúint tríd an leagan atá uait a roghnú ó roghchlár anuas agus cliceáil ar an gcnaipe giniúint. Do leagan 5, cuir an t-ainmspás agus an t-ainm ar fáil freisin.
Chomh luath agus a ghintear UUID, beidh sé le feiceáil i sraith torthaí glas a thabharfadh le fios gur gineadh go rathúil é. Má tharlaíonn earráid, taispeánfar an teachtaireacht earráide comhfhreagrach ar líne dhearg.
Samplaí cód chun UUIDanna ginte a úsáid
Is féidir leat na UUIDanna ginte a úsáid i d’fheidhmchláir trína chomhtháthú go díreach isteach i do chód. Seo sampla i PHP:
go String(). PHP_EOL;
macalla "UUID v5:". $uuidV5->go String(). PHP_EOL;
macalla "UUID v7:". $uuidV7->go String(). PHP_EOL;
?>
Bailíochtaigh agus anailísigh UUIDanna
Is féidir leat freisin UUIDanna atá ann cheana a bhailíochtú agus a anailísiú chun a leagan agus a mbailíocht a chinneadh. Seo sampla de chód i PHP:
getFields()->getVersion();
} eile {
macalla "UUID Neamhbhailí";
}
?>
Ceisteanna coitianta
Cad é an difríocht idir UUID v1, v4, v5 agus v7?
Comhcheanglaíonn v1 stampa ama agus seoladh MAC an mheaisín, ar féidir leo faisnéis íogair a nochtadh. Tá v4 randamach amháin (122 giotán randamach), is é an leagan is mó a úsáidtear é. Tá v5 cinntitheach: táirgeann an t-ainmspás céanna + péire ainm an UUID céanna a bhuíochas le hash SHA-1. Áirítear le v7 stampa ama i milleasoicindí ag tús an aitheantóra, rud a fhágann go bhfuil sé curtha in eagar go croineolaíoch agus oiriúnach d'eochracha príomhúla.
Cad é an dóchúlacht imbhuailte de UUID v4?
Tá 122 giotán randamach ag UUID v4, nó thart ar 5.3 × 10^36 luachanna féideartha. Chun dóchúlacht imbhuailte 50% (paradacsa lá breithe) a bhaint amach, bheadh gá le thart ar 2.7 × 10^18 UUID a ghiniúint. Go praiticiúil, ar fheidhmiú caighdeánach, is beag an dóchúlacht go dtarlóidh imbhualadh. Is é seo a cheadaíonn aitheantóirí taobh cliaint a ghiniúint gan comhordú le freastalaí lárnach.
Cén fáth a n-úsáidfí UUID v7 le haghaidh eochair bhunachar sonraí?
Déanann UUID v4 a cuireadh isteach in innéacs B-crann ilroinnt láidir: titeann gach ionsá go randamach, rud a dhíghrádaíonn feidhmíocht agus úsáid taisce. Tosaíonn UUID v7 le stampa ama ina milleasoicindí, mar sin cuirtear línte nua isteach ag deireadh an innéacs i gcónaí. Téann feidhmíocht ionsáite isteach ansin chuig BIGSERIAL, agus na buntáistí a bhaineann le haitheantóir uilíoch á gcoinneáil ag an am céanna.
Cad iad na spásanna ainm DNS, URL, OID agus X500 de UUID v5 a úsáidtear le haghaidh?
Is UUIDanna iad na spásanna ainmneacha seo réamhshainithe in RFC 4122 a fheidhmíonn mar réimír comhthéacsúla le haghaidh giniúna cinntitheach. Úsáidtear DNS le hainm fearainn, URL le URL iomlán, OID le haitheantóir ISO oibiachta, X500 le hainm sainaitheanta LDAP. Is féidir leat d’ainmspás príobháideach féin a shainiú freisin: UUID v4 a ghintear uair amháin do d’fheidhmchlár, arna athúsáid mar fhréamh cinntitheach do d’aitheantóirí v5 go léir.
UUID nó uath-incrimint le haghaidh bun-aitheantóirí?
Tá auto-incrimint fós an-éifeachtach le haghaidh bunachair shonraí monolithic agus nochtann sé go héasca an t-ord scríbhneoireachta, rud a d'fhéadfadh a bheith neamh-inmhianaithe ar thaobh poiblí API. Is fearr UUIDanna a fheileann d’ailtireachtaí dáilte, giniúint taobh cliant, cumaisc bhunachar sonraí, agus nochtadh poiblí aitheantóirí teimhneach. An comhréiteach idéalach in 2026: UUID v7 san eochair bhunscoile, a chomhcheanglaíonn uilíocht, teimhneacht réasúnta agus dea-fheidhmíocht innéacs.
An dtéann na UUIDanna ginte trí fhreastalaí tríú páirtí?
Déantar giniúint i dtimpeallacht cdrn.fr, gan glaoch ar sheirbhís sheachtrach. I gcás leaganacha randamacha amháin (v4) nó ama (v7), níl aon fhaisnéis íogair ag teastáil mar ionchur. I gcás v5, úsáidtear an t-ainmspás agus an t-ainm a sholáthraíonn tú le haghaidh ríomh áitiúil SHA-1 amháin. Níl aon aitheantóirí ginte logáilte, is féidir leat an uirlis a úsáid chun UUIDanna a tháirgeadh atá ceaptha do chomhthéacsanna rúnda.
Sampla iarratais
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":"..."}'
Scéimre ionchuir
| Réimse | Cineál | Riachtanach | Réamhshocrú |
|---|---|---|---|
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 | – | – |
Críochphointí
GET https://cdrn.fr/api/v1/tools- liostaíonn na huirlisí go léir atá ar fáilGET https://cdrn.fr/api/v1/tools/uuid-generator- faigh scéimre na huirlise seoPOST https://cdrn.fr/api/v1/tools/uuid-generator/execute- rith an uirlis seo le pálasta JSON