1. O que é UUID
UUID (Universally Unique Identifier) é um identificador globalmente exclusivo de 128 bits. É composto por um conjunto de números e letras, expressos em hexadecimal, e tem probabilidade teoricamente muito baixa de repetição. O algoritmo de geração UUID garante que os identificadores gerados em diferentes sistemas, diferentes tempos e diferentes espaços sejam quase impossíveis de entrar em conflito, podendo ser amplamente utilizado em sistemas distribuídos e aplicações de grande escala.
O formato padrão do UUID é: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
Dentre eles, cada x representa um número hexadecimal (0-9 e af), e M e N representam bits de identificação específicos.
- Bits 1-12: timestamp de 32 bits, registrando o horário em que o UUID foi gerado, em 100 nanossegundos.
- Bits 13-16: número aleatório de 16 bits, registrando o contador que gerou o UUID.
- Bits 17-20: Identifica a versão gerada do UUID. Existem atualmente 5 versões, sendo a mais comum a versão 4, que representa um UUID gerado por um número aleatório.
- Bits 21-24: Identifica a variante do UUID. Atualmente existem apenas duas variações, geralmente "10".
2. Como usar o UUID
Java fornece uma classe para gerar UUID java.util.UUID
. Você pode usar esta classe para gerar UUID. UUID
A classe fornece dois métodos estáticos para gerar UUID:
-
UUID.randomUUID()
: Gere um UUID aleatório, usando a versão 4, que é um UUID baseado em números aleatórios. -
UUID.nameUUIDFromBytes(byte[] name)
: Gere um UUID com base na matriz de bytes especificada. Este método converte a matriz de bytes em um valor hash MD5 e o utiliza como base para gerar um UUID, usando a versão 3.
Conforme mostrado, estou usando UUID.randomUUID()来生成随机ID,因为
Java, UUID.randomUUID()
o método retorna um java.util.UUID
objeto, então o objeto 使用toString()方法
é UUID
convertido em uma representação de string padrão. Isso irá gerar um nome de arquivo exclusivo e aleatório para o arquivo enviado.