logo

Java gerar UUID

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

Java gerar UUID

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