Java.util.UUID.randomUUID().toString() de longueur


Fait java.util.UUID.randomUUID().toString () longueur toujours égale à 36?

Je n'ai pas pu trouver d'informations à ce sujet. Ici il est dit seulement ce qui suit:

Public static UUID randomUUID() Usine statique pour récupérer un UUID de type 4 (pseudo généré aléatoirement). L'UUID est généré à l'aide d'un générateur de nombres pseudo-aléatoires cryptographiquement fort. Retourner: Un UUID généré aléatoirement

Et que type 4 ne me dit rien. Je ne sais pas quel type 4 moyens dans le cas.

Author: Yaroslav, 2017-07-29

1 answers

Fait java.util.UUID.randomUUID().toString () longueur toujours égale à 36?

Oui c'est le cas.

A UUID en fait une valeur de 128 bits (2 long). Pour représenter 128 bits dans une chaîne hexadécimale, il y aura 128/4=32 char (chaque caractère a une longueur de 4 bits). Au format chaîne, il contient également 4 (-) c'est pourquoi la longueur est 36.

Exemple: 54947df8-0e9e-4471-a2f9-9af509fb5889

32 caractères hexagonaux + 4 traits d'union = 36 caractères. Donc la longueur sera toujours de même.

Mise à jour:

Je ne sais pas ce que le type 4 signifie dans le cas.

FYI: Il existe plusieurs façons de générer un UUID. Ici, le type 4 signifie que cet uuid est généré en utilisant un nombre aléatoire ou pseudo-aléatoire. À partir de wiki - Universally_unique_identifier#Versions:

Versions

Pour les variantes 1 et 2, cinq "versions" sont définies dans les normes, et chaque version peut être plus appropriée que les autres dans des cas d'utilisation spécifiques. La version est indiquée par le M dans la représentation de chaîne.

Version 1 Les UUID sont générés à partir d'un temps et d'un id de nœud (généralement l'adresse MAC);

Version 2 Les UUID sont générés à partir d'un identifiant (généralement un identifiant de groupe ou d'utilisateur), d'une heure et d'un identifiant de nœud;

Les versions 3 et 5 produisent des UUID déterministes générés en hachant un identifiant d'espace de noms et un nom;

Et version 4 Les UUID sont générés à l'aide d'un ou de nombres pseudo-aléatoires.

 25
Author: ruhul, 2018-07-06 17:18:32