UUID UUID Generator

Gratis · Geen account · Niets installeren

UUID v5-generator

Maak een UUID v5 door naamruimte en naam met SHA-1 te hashen. Dit is de aanbevolen versie om een identificatie uit een naam af te leiden.

  • SHA-1-hash
  • Deterministisch
  • Op naamruimte gebaseerd

UUID v5-generator

v5
Bereik: 1 tot 1000.
Opmaak

Resultaat 0

    Alle waarden worden op je eigen apparaat gemaakt met de Web Crypto API en verlaten je browser niet. Sneltoets: Ctrl + Enter — opnieuw genereren

    UUID v5 uitgelegd

    UUID v5 heeft dezelfde structuur als v3 en verschilt alleen in de hashfunctie: SHA-1 in plaats van MD5. Naamruimte en naam worden aaneengeschakeld, gehasht en tot 128 bits gemaakt, dus dezelfde invoer geeft altijd dezelfde UUID.

    Omdat SHA-1 beter bestand is tegen botsingen dan MD5, wijst RFC 9562 voor op naam gebaseerde identificaties v5 aan als de voorkeursvariant.

    Hoe het werkt

    1. Stel in hoeveel UUID's je nodig hebt.
    2. Kies eventueel hoofdletters, koppeltekens en accolades.
    3. Druk op UUID genereren om de deterministische v5-waarde(n) te berekenen.

    Waarvoor je het gebruikt

    • Een stabiele ID voor sleutels die van buiten komen, zoals een domeinnaam, URL of e-mailadres.
    • Situaties waarin meerdere services uit dezelfde invoer dezelfde UUID berekenen.
    • Datamigraties waarbij bestaande namen behouden blijven en er toch een identificatie bij moet.

    Structuur

    De eerste 128 bits van de SHA-1-hash worden in de UUID geplaatst; het dertiende hexadecimale teken is het versienummer (5) en het zeventiende het variantnummer. De overige 122 bits komen uit de hash.

    Waar UUID v5 past

    Wanneer kies je welke optie
    OptieWanneer gebruiken
    v5De aanbevolen versie voor identificaties uit namen
    v3Zelfde structuur, maar met MD5 en dus geen reden om het te kiezen
    v4Als je een random waarde wilt die losstaat van de invoer

    Overzicht van alle UUID-versies

    VersieSorteerbaarHerkomst van de bitsWaarvoor het past
    v1NeeTijdstempel + MAC-adresBestaande systemen die v1 verwachten
    v3NeeMD5-hash van de naamDeterministische ID's als MD5 verplicht is
    v4Nee122 random bitsVrijwel elke gewone unieke identificatie
    v5NeeSHA-1-hash van de naamAls dezelfde naam altijd dezelfde ID moet geven
    v6JaHerschikte tijdstempelAls je zowel randomheid als sortering wilt
    v7JaUnix-tijd in millisecondenPrimaire sleutels en gebeurtenis-ID's
    v8NeeZelfgekozen bitindelingEigen formaten en experimenten

    Alle zeven versies zijn 128 bits en gebruiken dezelfde notatie 8-4-4-4-12. Het verschil zit alleen in wat elk bit voorstelt.

    Codevoorbeelden

    javascript

    // Je hebt een SHA-1-implementatie nodig
    // bijvoorbeeld js-sha1 en dan zelf samenstellen
    const id = uuidv5('example.com', NAMESPACE_DNS);

    python

    import uuid
    id = str(uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com'))

    java

    // Zonder bibliotheek moet je dit zelf implementeren

    csharp

    // .NET heeft geen generator voor v5

    sql

    -- Meestal in de applicatie berekend en daarna opgeslagen

    Veelgestelde vragen

    Wat is het verschil tussen v5 en v3?

    Alleen de hashfunctie. v5 gebruikt SHA-1 en v3 gebruikt MD5. De structuur en de manier van werken zijn hetzelfde.

    Is v5 veilig, aangezien het SHA-1 gebruikt?

    Voor het maken van identificaties wel. De botsingsproblemen van SHA-1 spelen bij ondertekening en integriteitscontrole; v5 maakt een waarde deterministisch en beoogt geen beveiliging.

    Wat gebeurt er als ik de naamruimte wijzig?

    Dan krijg je een heel andere UUID. De naamruimte hoort bij de invoer van de hash, dus kies een combinatie en houd die vast.