Guia de UUID v4 e Algoritmos de Hash Criptográfico
Conheça o padrão RFC 4122 para identificadores únicos universais e a segurança por trás de SHA-256, SHA-512 e MD5.
O que é um UUID v4 (RFC 4122)?
Um Universally Unique Identifier (UUID) versão 4 é uma sequência de 128 bits representada por 32 dígitos hexadecimais divididos em cinco grupos (8-4-4-4-12), como f47ac10b-58cc-4372-a567-0e02b2c3d479.
Dos 128 bits, 122 bits são puramente aleatórios gerados através da Web Crypto API do navegador (crypto.getRandomValues), garantindo altíssima entropia e resistência contra ataques de previsão.
Qual a probabilidade de colisão de um UUID v4?
A probabilidade de gerar dois UUIDs v4 idênticos é astronomicamente pequena: seriam necessários cerca de 2,7 quintilhões de UUIDs gerados para haver uma chance de colisão de 50% (Paradoxo do Aniversário).
Por isso, o UUID v4 é o padrão da indústria para chaves primárias em bancos de dados distribuídos (PostgreSQL, MongoDB, Kafka, etc.).
Comparativo de Hashes: SHA-256 vs SHA-512 vs MD5
| Algoritmo | Tamanho da Saída | Nível de Segurança | Uso Recomendado |
|---|---|---|---|
| SHA-256 | 256 bits (64 hex) | Muito Alto | Assinaturas digitais, certificados SSL/TLS, verificação de integridade e blockchains. |
| SHA-512 | 512 bits (128 hex) | Ultra Alto | Aplicações governamentais, alta sensibilidade e ambientes de 64 bits nativos. |
| MD5 | 128 bits (32 hex) | Inseguro | Estritamente para somas de verificação rápidas de integridade (checksum). Nunca usar para senhas. |
Perguntas Frequentes sobre UUID e Hashes (FAQ)
Hashes SHA-256 podem ser descriptografados ou revertidos?
Não. O SHA-256 é uma função de dispersão unidirecional (one-way cryptographic hash). É matematicamente impossível reconstruir o texto original a partir da digest gerada; a única forma de encontrar a entrada é por força bruta ou ataque de dicionário.
Por que o MD5 não deve ser utilizado para armazenar senhas?
O algoritmo MD5 possui vulnerabilidades severas de colisão conhecidas e é executado com extrema rapidez em placas de vídeo modernas (bilhões de hashes por segundo), tornando ataques de Rainbow Tables triviais. Para senhas, utilize sempre Argon2id, bcrypt ou PBKDF2.