Hashes/Cripto

UUID Generator

Geração de UUID versões 1, 3, 4, 5, 6 e 7 — aleatórios, baseados em tempo e derivados de um nome (name-based).

A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.

Which version to pick

Common uses

Things to keep in mind

UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.

The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).

Artigo sobre esta ferramenta: UUID: como são gerados identificadores que quase nunca se repetem

Perguntas frequentes

Qual a diferença entre UUID v4 e as outras versões?

A v4 é gerada quase inteiramente a partir de bytes aleatórios, sem relação com tempo ou informações do dispositivo. Já a v1 e a v6 incorporam um timestamp (e podem revelar quando o identificador foi criado), enquanto a v3 e a v5 são derivadas de forma determinística de um nome e um namespace.

Qual a chance de dois UUID v4 colidirem?

Praticamente nula: com 122 bits aleatórios, seriam necessários bilhões de UUIDs gerados por segundo, durante décadas, para ter uma probabilidade relevante de colisão.

Para que servem os UUIDs na prática?

São usados como identificadores únicos de registros em bancos de dados, chaves de sessão, nomes de arquivos temporários e qualquer situação em que seja preciso gerar um ID sem coordenação central nem risco de conflito.

O que é o UUID v7 e por que é melhor que o v4 para bancos de dados?

O UUID v7 incorpora um timestamp nos primeiros bits, então os valores são ordenados naturalmente pelo horário de criação — diferente do v4, totalmente aleatório, que prejudica o desempenho dos índices do banco de dados devido à ordem caótica de inserção de novos registros.

Posso usar um UUID como token secreto?

Para UUID v4, sim, já que é gerado por um gerador de aleatoriedade criptograficamente seguro. Mas o UUID v1 revela parcialmente o horário de criação e o endereço MAC do dispositivo, então não é adequado onde a imprevisibilidade é necessária.

Artigos: Hashes/Cripto

Hash Generator: em que MD5, SHA-1 e SHA-256 diferem entre si

Por que o MD5 ainda é usado para verificar a integridade de arquivos, mas não para senhas.

Checksum Verifier: como verificar que um arquivo não está corrompido

Por que um checksum coincidente confirma a integridade de um arquivo, mas não quem o criou.

HMAC: em que um hash com chave difere de um hash comum

Por que um SHA-256 comum não protege contra a adulteração de uma mensagem, mas o HMAC sim.

Bcrypt: por que as senhas são hasheadas devagar, não rápido

Por que um SHA-256 rápido é uma má escolha para senhas, e um bcrypt lento é a certa.

Gerador de senhas: o que realmente torna uma senha forte

Por que uma senha longa feita de palavras de dicionário é mais forte que uma curta com símbolos e números.

AES: como funciona a criptografia simétrica

Por que a mesma chave cifra e decifra os dados no AES, e como isso difere da criptografia assimétrica.

Argon2: por que esse algoritmo venceu a competição de hashing de senhas

Como o Argon2 se defende melhor contra ataques com GPU do que algoritmos de hashing de senhas mais antigos.

Scrypt: por que o algoritmo precisa de tanta memória

Por que o scrypt exige deliberadamente muita memória para dificultar a quebra em dispositivos ASIC.

TOTP: como funcionam os códigos de uso único em apps autenticadores

Por que o código do Google Authenticator funciona sem internet e se sincroniza com o servidor apenas pela hora.

PBKDF2: o padrão mais antigo de alongamento de chave

Por que o número de iterações recomendado para o PBKDF2 cresce a cada ano.

X.509: o que há dentro de um certificado SSL

O que exatamente o navegador verifica no certificado de um site antes de mostrar o cadeado verde.

PGP: como funciona a criptografia de chave pública e privada

Por que se pode compartilhar livremente uma chave pública PGP, mas nunca a privada.