Pular para o conteúdo
Quaestio

Gerador de UUID

Gere identificadores aleatórios versão 4, no formato que você precisar.

Identificadores

    A aleatoriedade vem da fonte criptográfica do navegador, e nada é enviado.

    Incorporar

    Incorpore esta ferramenta no seu site

    Copie o código e cole onde a ferramenta deve aparecer, como num post de blog ou numa página escolar. É gratuito, o quadro não tem anúncios e a ferramenta calcula no navegador do visitante.

    Como funciona

    Um UUID é um identificador de 128 bits, escrito como 32 caracteres hexadecimais em cinco grupos separados por hifens.

    A versão 4 é aleatória, exceto seis bits que registram a versão e a variante. Sobram 122 bits aleatórios, ou mais de cinco undecilhões de valores possíveis, ou seja 5,3 × 10³⁶.

    Com tantas possibilidades nenhuma autoridade central precisa distribuir identificadores. Dois sistemas podem gerar um cada sem consultar o outro, e a chance de colisão é desprezível.

    A aleatoriedade vem da fonte criptográfica do navegador, que existe justamente para valores que precisam ser impossíveis de adivinhar.

    Os formatos com maiúsculas ou chaves vêm do mundo Windows. É o mesmo identificador, só escrito de outro jeito.

    Como os identificadores são criados

    A ferramenta chama crypto.randomUUID, do navegador, que pela Web Cryptography API do W3C cria um UUID versão 4 a partir de bytes aleatórios criptograficamente seguros. Em navegadores antigos sem essa função, a ferramenta preenche 16 bytes com crypto.getRandomValues e depois sobrescreve seis bits: a metade superior do sétimo byte vira 0100, que indica a versão 4, e os dois bits mais altos do nono byte viram 10, que marcam a variante. São criados até 100 identificadores por vez. As opções de maiúsculas, chaves e hifens mudam só a forma de escrever os valores, não os valores em si.

    Como reconhecer a versão 4

    Os bits fixos aparecem no texto. O primeiro caractere do terceiro grupo é sempre 4. O primeiro caractere do quarto grupo é 8, 9, a ou b, porque só dois dos seus quatro bits são fixos. Em c3431ee8-4dd9-4038-b998-71210a2ffb2b, gerado com o código da ferramenta, esses caracteres são 4 e b. Se houver outra coisa nessas posições, o identificador não é versão 4. A RFC 9562 permite escrever as letras em maiúsculas, em minúsculas ou misturadas.

    Casos-limite

    Um UUID é um identificador, não um segredo. A RFC 9562 recomenda que as implementações não presumam que UUIDs são difíceis de adivinhar e proíbe usá-los como credenciais de segurança, identificadores cuja simples posse dá acesso. Um link de redefinição de senha precisa de um token feito para isso.

    Como chave de banco de dados, a versão 4 tem uma desvantagem que o próprio padrão aponta: valores criados em sequência ficam longe uns dos outros no índice, então cada linha nova é inserida numa posição aleatória. A versão 7 começa com um carimbo de tempo e por isso fica ordenada na ordem em que os valores foram criados. A ferramenta cria só a versão 4.

    Dois valores têm nome próprio no padrão: o UUID nil, só com zeros, e o UUID max, só com f. Nenhum dos dois pode sair da ferramenta, porque os bits de versão e de variante estão sempre definidos.

    Fontes

    Como as ferramentas são verificadas