Qu'est-ce que UUID v3 ?
UUID version 3 est un identifiant de 128 bits basé sur un espace de noms (chaîne de 36 caractères) de la RFC 4122 qui utilise le hachage MD5. Il se compose de :
- UUID d'espace de noms: Un espace de noms UUID prédéfini ou personnalisé
- Nom: Une chaîne fournie par l'utilisateur qui est hachée
- Hachage MD5: Appliqué à la combinaison espace de noms + nom
Exemple de format: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Comment fonctionne UUID v3 ?
- Sélectionnez un UUID d'espace de noms (prédéfini ou personnalisé)
- Concaténez les octets de l'UUID d'espace de noms avec les octets de la chaîne de nom
- Calculez le hachage MD5 de la valeur concaténée
- Définissez les bits de version sur 0011 (version 3)
- Définissez les bits de variante sur 10 (norme RFC 4122)
- Assemblez en 32 chiffres hexadécimaux avec des tirets : format 8-4-4-4-12
Avantages et Considérations
Avantages | Considérations |
---|---|
|
|
Structure de UUID v3
Bits | Contenu |
---|---|
0-47 | Premiers 48 bits du hachage MD5 |
48-51 | Version (0011 pour v3) |
52-63 | Prochains 12 bits du hachage MD5 |
64-65 | Variante (10 pour RFC4122) |
66-127 | Restants 62 bits du hachage MD5 |
Espaces de Noms Prédéfinis
Nom | UUID | But |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Noms de domaine |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | OID ISO |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | Noms Distingués X.500 |
UUID v3 vs. autres versions
Version | Basé sur | Cas d'utilisation | Confidentialité |
---|---|---|---|
UUID v1 | Temps + MAC | IDs ordonnés par temps | ⚠️ Révèle MAC |
UUID v3 | Espace de noms + MD5 | IDs déterministes | ✅ Privé |
UUID v4 | Aléatoire | IDs aléatoires sécurisés | ✅ Privé |
UUID v5 | Espace de noms + SHA-1 | IDs déterministes | ✅ Privé |
UUID v6 | Temps (réordonné) | IDs triables | ⚠️ Révèle MAC |
UUID v7 | Temps + aléatoire | IDs triables | ✅ Privé |
Cas d'utilisation courants
- Identifiants basés sur URL: Création de UUIDs à partir d'URLs
- IDs spécifiques à un domaine: Conversion de noms DNS en UUIDs
- IDs de fichiers déterministes: Adressage de contenu
- IDs d'utilisateur: À partir d'un e-mail ou d'un nom d'utilisateur
- Entrées de configuration: Pour des clés cohérentes
- Références de documents: Systèmes de gestion de contenu
Questions Fréquemment Posées
UUID v3 est-il cryptographiquement sécurisé ?
Pas vraiment. UUID v3 utilise MD5, qui a des faiblesses cryptographiques connues. Pour une sécurité accrue, envisagez UUID v5 (SHA-1) ou UUID v4 (aléatoire).
Les mêmes entrées produiront-elles toujours le même UUID v3 ?
Oui. UUID v3 est déterministe - le même espace de noms et nom produiront toujours le même UUID, ce qui le rend utile pour des IDs reproductibles.
Quelle est la différence entre UUID v3 et v5 ?
Ils fonctionnent de manière identique sauf que v3 utilise MD5 tandis que v5 utilise SHA-1. UUID v5 est généralement préféré car SHA-1 est cryptographiquement plus fort que MD5.
Puis-je créer mes propres espaces de noms ?
Oui. Bien que la RFC 4122 définisse des espaces de noms standard (DNS, URL, OID, X.500), vous pouvez créer des espaces de noms personnalisés en utilisant n'importe quel UUID valide.
UUID v3 est-il adapté aux jetons de sécurité ?
Non. En raison des faiblesses de MD5 et de la nature déterministe, UUID v3 n'est pas recommandé pour les jetons de sécurité ou toute chose nécessitant de l'imprévisibilité.