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.
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.