UUID é um número de identificação exclusivo de 128 bits amplamente utilizado no sistema de computador. Consiste em dígitos hexadecimais separados por quatro hífens. Nesta seção, discutiremos o que é UUID e como gerar UUID aleatoriamente (versão 4) em Java .
lista java
UUID
UUID apoia Identificador Universalmente Único . UUIDs são padronizados pela Open Software Foundation (OSF). Faz parte do Ambiente de Computação Distributiva (DCE). Um UUID é um número exclusivo de 36 caracteres (128 bits). Também é conhecido como Identificador globalmente exclusivo (GUID).
O uso do UUID depende da situação, dos casos de uso, da complexidade e das condições. Alguns dos usos do UUID são:
- É usado para gerar URN (nomes uniformes de recursos) exclusivos.
- Também pode ser usado para gerar IDs de transação.
- Amplamente utilizado em uma aplicação criptográfica.
- Em uma aplicação web ele pode ser usado para gerar IDs de sessão.
Tipos de UUID
Existem quatro tipos de UUIDs:
- UUID baseado em tempo (versão 1)
- UUID de segurança DCE (versão 2)
- UUID baseado em nome (versão 3 e 5)
- UUID gerado aleatoriamente (versão 4)
Variantes de UUID
Existem muitas variantes do UUID, mas Lixiviar sal variante é amplamente utilizada. O layout da variante 2, ou seja, Lixiviar sal é o seguinte:
Os MSBs consistem nos seguintes campos não assinados:
0xFFFFFFFF00000000 tempo_baixo
0x00000000FFFF0000 tempo_meio
Versão 0x000000000000F000
0x000000000000FFF hora_oi
Os LSBs consistem nos seguintes campos não assinados:
0xC00000000000000 variante
0x3FFF000000000000 relógio_seq
0x0000FFFFFFFFFFFF nó
java isempty
O campo variante contém um valor que identifica o layout do UUID. O layout discutido acima é válido apenas para a variante 2.
Classe UUID Java
Para gerar o UUID , a linguagem de programação Java fornece a classe UUID. A classe pertence a java.util pacote. Ele estende a classe Object e implementa o serializável e comparável interface. A classe gera um UUID imutável que representa um valor de 128 bits.
Métodos de classe Java UUID
Métodos | Descrição |
---|---|
sequência de relógio() | Ele retorna o valor da sequência do relógio associado a este UUID especificado. |
compareTo() | O método compara o UUID com o UUID específico. |
é igual a() | O método compara este objeto com o objeto especificado. |
fromString() | Ele gera um UUID a partir da representação String. |
getLeastSignificantBits() | Ele retorna os 64 bits menos significativos do valor de 128 bits deste UUID. |
getMostSignificantBits() | Ele retorna os 64 bits mais significativos do valor de 128 bits deste UUID. |
código hash() | Ele retorna um código hash para este UUID. |
nomeUUIDFromBytes() | Ele recupera um UUID da versão 3 (baseado em nome) com base na matriz de bytes especificada. |
nó() | Ele retorna um valor de nó associado ao UUID especificado. |
UUID aleatório() | Ele retorna um UUID gerado aleatoriamente. |
carimbo de data/hora() | Ele retorna um valor de carimbo de data/hora associado a este UUID especificado. |
para sequenciar() | Ele retorna um objeto String que representa este UUID. |
variante() | É usado para obter a variante associada ao UUID especificado. |
versão() | Podemos obter o número da versão associado ao UUID especificado. |
Gerando um UUID
O exemplo a seguir gera um UUID aleatório.
UUIDExample.java
exemplo java olá mundo
import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } }
Saída:
2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89
Converter de uma String em um UUID
StringToUUIDExample.java
import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } }
Saída:
Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true