Padrão RFC 4122 & WebCrypto

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

AlgoritmoTamanho da SaídaNível de SegurançaUso Recomendado
SHA-256256 bits (64 hex)Muito AltoAssinaturas digitais, certificados SSL/TLS, verificação de integridade e blockchains.
SHA-512512 bits (128 hex)Ultra AltoAplicações governamentais, alta sensibilidade e ambientes de 64 bits nativos.
MD5128 bits (32 hex)InseguroEstritamente 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.