Ir para o conteúdo principal
Segurança e privacidade

Gerador de tokens seguros

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.

  • Área de transferência

Integrar este widget

Personalize o resultado, verifique a pré-visualização e copie o código.

Pré-visualização

Tipo de código de integração

Código a copiar

Responsivo e redimensionado automaticamente pela Bethemesh.

Tokens gerados

Esta ferramenta foi útil?

Como funciona esta ferramenta?

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.

Como usar esta ferramenta

  1. Defina o tamanho e o formato

    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.

  2. Acrescente um prefixo e uma quantidade

    Introduza, se necessário, um prefixo como sk_live_ e indique quantos tokens pretende gerar, de 1 a 20.

  3. Gere e copie

    Execute a geração: cada token aparece na lista, pronto a copiar para a sua configuração ou para o seu gestor de segredos.

Casos de uso

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.

Definir o segredo de um webhook

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.

Preencher os segredos de um ficheiro .env

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.

Dicas e boas práticas

  • Para um token colocado num URL ou num parâmetro de consulta, escolha Base64URL: os caracteres «+», «/» e «=» do Base64 normal são alterados ou mal interpretados nos URL.
  • Não guarde chaves de API em claro: guarde o respetivo SHA-256 na base de dados e compare o hash em cada pedido. Para um token aleatório de 256 bits basta um hash rápido, ao contrário de uma palavra-passe.
  • O prefixo não torna um token mais seguro: se tiver de respeitar um comprimento máximo, encurte o prefixo e não o número de bytes aleatórios.

Perguntas frequentes

Que comprimento deve ter uma chave de API?

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.

Hexadecimal, Base64 ou Base64URL: qual escolher?

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.

O crypto.getRandomValues é mesmo seguro?

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.

Para que serve um prefixo como sk_live_?

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.

Qual é a diferença entre um token aleatório e um UUID?

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.

Os tokens gerados ficam guardados em algum lado?

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.

Funciona bem com

Gere palavras-passe fortes e aleatórias de 8 a 128 caracteres, com a entropia indicada.

Segurança e privacidadeEm destaqueUtilizar esta ferramenta

Gere um code_verifier PKCE, o respetivo code_challenge S256 e um state para o seu pedido de autorização OAuth.

Segurança e privacidadeNovoUtilizar esta ferramenta

Calcule um HMAC SHA-1, SHA-256, SHA-384 ou SHA-512 em hex ou Base64 e verifique uma assinatura de webhook.

Segurança e privacidadeNovoUtilizar esta ferramenta
ReferênciaConceitos e tecnologiasIniciante

RGB, HEX ou HSL: que notação escolher?

Compreenda como RGB, HEX e HSL descrevem cores sRGB para escolher uma notação CSS legível e converter valores sem confusão.

31 de agosto de 20263 min