Emitir a chave de API do seu serviço
Gere uma chave de 32 bytes em Base64URL com um prefixo como minhaapp_live_, mostre-a ao cliente uma única vez e guarde no servidor apenas o respetivo hash SHA-256.
Crie até 20 tokens aleatórios de uma vez para chaves de API, segredos de webhook ou tokens de sessão, em hex, Base64 ou Base64URL, com prefixo como sk_live_ e entropia visível. Gerados localmente.
Este gerador produz tokens aleatórios criptograficamente seguros de 8 a 256 bytes, até 20 de cada vez, em hexadecimal, Base64 ou Base64URL. Destina-se a programadores e administradores que precisam de uma chave de API, de um segredo de webhook, de um token de reposição ou de uma chave de assinatura sem abrir um terminal.
Os bytes são obtidos com crypto.getRandomValues, o gerador aleatório criptográfico do navegador alimentado pelo sistema operativo, e não com Math.random, que é previsível. A entropia apresentada é simplesmente o número de bytes multiplicado por 8: os 32 bytes por omissão dão 256 bits, ou seja, 2^256 valores possíveis, muito acima do que qualquer ataque de força bruta consegue percorrer. Para um token de autenticação, 128 bits (16 bytes) é um mínimo razoável e 256 bits uma escolha confortável para uma chave de API ou um segredo HMAC.
A codificação não altera a segurança, apenas o comprimento e os caracteres usados. Os mesmos 32 bytes dão 64 caracteres em hexadecimal, 44 em Base64 com o «=» final e 43 em Base64URL (RFC 4648, secção 5), que substitui «+» e «/» por «-» e «_» e remove o preenchimento para poder figurar tal como está num URL, num cabeçalho HTTP ou num nome de ficheiro. O prefixo opcional, por exemplo sk_live_, é acrescentado antes do token sem contar para a entropia: permite identificar o tipo de chave num relance e ajuda os scanners de segredos, como o do GitHub, a detetar uma fuga.
Escolha o número de bytes (de 8 a 256, 32 por omissão) e o formato de saída: hexadecimal, Base64 ou Base64URL. É apresentada a entropia correspondente em bits.
Introduza, se necessário, um prefixo como sk_live_ e indique quantos tokens pretende gerar, de 1 a 20.
Execute a geração: cada token aparece na lista, pronto a copiar para a sua configuração ou para o seu gestor de segredos.
Gere uma chave de 32 bytes em Base64URL com um prefixo como minhaapp_live_, mostre-a ao cliente uma única vez e guarde no servidor apenas o respetivo hash SHA-256.
O GitHub, a Stripe e a Shopify assinam os webhooks com um segredo partilhado: gere um em hexadecimal, cole-o nas definições do fornecedor e na sua aplicação para verificar a assinatura HMAC.
Gere de uma só vez vários valores para SESSION_SECRET, APP_KEY ou JWT_SECRET e prepare um ambiente de desenvolvimento ou de pré-produção com segredos distintos.
Aponte para pelo menos 128 bits de entropia, ou seja, 16 bytes, e de preferência 256 bits, ou seja, 32 bytes, o valor por omissão. Isso dá 43 caracteres em Base64URL ou 64 em hexadecimal. Acima disso, o ganho de segurança é desprezável e a chave fica apenas mais volumosa.
Os três representam os mesmos bytes e oferecem a mesma segurança. O hexadecimal é o mais legível e compatível, o Base64 é mais compacto e o Base64URL é igualmente compacto e seguro em URL, cabeçalhos e nomes de ficheiros. Siga o formato esperado pelo serviço ou pela biblioteca que vai usar o token.
Sim, é o gerador aleatório criptográfico disponibilizado pela API Web Crypto, alimentado pelo sistema operativo, tal como /dev/urandom ou os.urandom. É adequado para gerar chaves e tokens. O Math.random, pelo contrário, não foi concebido para segurança e os seus resultados podem ser previstos.
Um prefixo indica o tipo de chave, por exemplo secreta ou pública, produção ou teste, sem revelar o seu valor. Facilita o suporte e permite que as ferramentas de deteção de segredos reconheçam uma chave exposta num repositório Git. A Stripe (sk_live_) e o GitHub (ghp_) usam prefixos por essa razão.
Um UUID v4 contém apenas 122 bits aleatórios e serve sobretudo como identificador único; algumas versões, como v1 ou v7, incluem até uma marca temporal previsível. Para um segredo, um token aleatório de 32 bytes oferece 256 bits de entropia e não revela nada. Use um UUID para identificar e um token para autenticar.
Não: são criados no seu navegador e só existem na página até os copiar. Nenhum token é transmitido nem registado. Copie-os diretamente para o seu gestor de segredos e feche a página quando terminar.
Ferramentas relacionadas
Ferramentas semelhantes ou complementares a esta.
Gere palavras-passe fortes e aleatórias de 8 a 128 caracteres, com a entropia indicada.
Gere um code_verifier PKCE, o respetivo code_challenge S256 e um state para o seu pedido de autorização OAuth.
Calcule um HMAC SHA-1, SHA-256, SHA-384 ou SHA-512 em hex ou Base64 e verifique uma assinatura de webhook.
Entenda como OAuth 2.0, PKCE, JWT, JWK e JWKS se relacionam: autorização, tokens, chaves públicas e verificação.
Saiba quando usar criptografia, hashing, HMAC ou PBKDF2 para confidencialidade, integridade, autenticação e senhas.
Compreenda como RGB, HEX e HSL descrevem cores sRGB para escolher uma notação CSS legível e converter valores sem confusão.
Aprenda a construir uma CSP progressiva, compreender as suas diretivas e evitar políticas demasiado permissivas ou que quebram o site.