Gerador de chave aleatória
Random Key Generator
Gera bytes aleatórios criptográficos como hex, Base64 ou Base64URL no comprimento escolhido, para segredos de aplicação.
Uma `SECRET_KEY` ou uma chave de assinatura de JWT precisa ser bytes aleatórios de um comprimento declarado em uma codificação declarada, e as improvisações habituais — um teclado esmagado, um UUID, um hash do nome do projeto — têm todas menos entropia do que parecem. Esta ferramenta produz os bytes e os codifica.
Segredo aleatório
HbHSrE8HKjs5RiP6m2AZEEKS_2giwey4ahK7eBZDTGMComo JWK (oct)
{
"kty": "oct",
"k": "HbHSrE8HKjs5RiP6m2AZEEKS_2giwey4ahK7eBZDTGM",
"ext": true
}Chave do WebCrypto
Uma CryptoKey de verdade, exportada como JWK — dá para usar direto com crypto.subtle.
Cada byte vem de crypto.getRandomValues e fica nesta aba. Nada é gerado em um servidor nem enviado para um.
Como usar
Escolha o comprimento em bytes
32 bytes (256 bits) cobrem quase tudo — HMAC-SHA256, AES-256, chaves de sessão. Mais longo não é mais forte para esses usos; o algoritmo define o tamanho útil.
Escolha a codificação que a configuração quer
Hexadecimal é inequívoco e tem o dobro do comprimento. Base64URL evita `+`, `/` e `=`, que é o que você quer em uma URL, em um cabeçalho ou em um arquivo `.env` que outra coisa vai interpretar.
Ponha no cofre de segredos, não no repositório
Uma chave que entrou em um commit uma vez é uma chave que precisa ser rotacionada, por mais rápido que o commit tenha sido revertido. Gere uma diferente por ambiente.
Perguntas frequentes
De onde vem a aleatoriedade?
Do `crypto.getRandomValues`, o CSPRNG do navegador, semeado pelo sistema operacional. Nada é transmitido e nada é armazenado.
Uma chave gerada em um navegador é tão boa quanto uma de `openssl rand`?
A aleatoriedade tem a mesma qualidade — as duas vêm do sistema operacional. A diferença é onde a chave é exibida: em uma tela, possivelmente em um navegador que sincroniza, possivelmente com uma extensão observando o DOM. Em uma máquina que você não controla, use a linha de comando.
Posso usar isto para um UUID?
Use o gerador de UUID em vez disso — um UUIDv4 tem um layout fixo com seis bits gastos em versão e variante, então uma string aleatória crua não é um UUID válido.
Pode receber de
Gerador de UUID
UUID Generator
Gera UUID v1, v4, v5 e v7 em lote, e decodifica o timestamp de um valor v1 ou v7.
Gerador de ULID e NanoID
ULID & NanoID Generator
Gera ULIDs ordenáveis ou NanoIDs curtos com alfabeto e comprimento escolhidos, e mostra a chance de colisão.
Gerador de HMAC
HMAC Generator
Calcula um HMAC sobre uma mensagem com hash e codificação da chave escolhidos, para conferir assinaturas de webhooks.
Criptografar e descriptografar texto
Text Encrypt & Decrypt
Criptografa uma mensagem com AES-GCM a partir de uma senha e produz um bloco Base64 autossuficiente.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
Conversor de .env
.env Parser & Converter
Analisa um arquivo .env e o converte para JSON, YAML, exports de shell, Docker ou formatos do Kubernetes.
Gerador de HMAC
HMAC Generator
Calcula um HMAC sobre uma mensagem com hash e codificação da chave escolhidos, para conferir assinaturas de webhooks.
Gerador de senhas
Password Generator
Gera senhas aleatórias com regras de comprimento, conjunto de caracteres e caracteres ambíguos, em lote se preciso — nada é transmitido nem armazenado.
Gerador de UUID
UUID Generator
Gera UUID v1, v4, v5 e v7 em lote, e decodifica o timestamp de um valor v1 ou v7.
Verificador de link suspeito
Suspicious URL Check
Inspeciona a forma de um link antes de você abri-lo — caracteres parecidos, hosts em IP literal, truques com @, subdomínios profundos, portas estranhas, encurtadores — e, se pedir, segue os redirecionamentos e consulta a data de registro do domínio. Sem base de reputação: sinais, não veredito.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.