# Gerador aleatório seguro

Gera material de chave aleatório criptograficamente seguro guiado por orçamento de entropia — peça N bits de entropia, obtenha saída hex/base64/base64url. Também suporta strings com alfabeto personalizado via crypto.randomInt (amostragem por rejeição interna, sem viés de módulo). Para qualquer segredo/chave/token, use isto em vez de ferramentas baseadas em Math.random.

> Página canônica: https://elysiatools.com/pt/tools/secure-random-generator

- **Categoria:** Security

- **Palavras-chave:** aleatório, aleatório seguro, CSPRNG, chave, geração, entropia, hex, base64, segurança

## Visão geral

Esta ferramenta gera **material de chave aleatório criptograficamente seguro**. Diferente dos geradores existentes de strings e senhas (que usam `Math.random()` e não servem para segredos), esta ferramenta é guiada por entropia e respaldada por CSPRNG.

**Entrada guiada por entropia.** Você especifica uma entropia alvo em *bits* (padrão 256, passo 8) — a segurança desejada — e a ferramenta deriva o número de bytes (`bytes = ceil(bits/8)`) para você. Este é o modelo mental correto para chaves: um secret JWT HS256 precisa de 256 bits de entropia independentemente de quantos caracteres o representem. Não pense "quantos caracteres", pense "quanta segurança".

**Dois ramos de saída:**

1. **Codificação de bytes** (padrão — deixe Alfabeto Personalizado vazio). Gera `ceil(entropyBits/8)` bytes aleatórios com `crypto.randomBytes()` e renderiza o mesmo material em **três codificações lado a lado** — hex, base64, base64url — para que você copie a que seu consumidor espera. Cada byte contribui com 8 bits de entropia, então a entropia entregue sempre é igual à solicitada.

2. **Alfabeto personalizado** (preencha Alfabeto Personalizado). Amostra `crypto.randomInt(tamanhoAlfabeto)` por caractere — amostragem por rejeição interna do Node, **sem viés de módulo**, sem loop de rejeição manual. A entropia real é `comprimento × log₂(tamanhoAlfabeto)`, podendo ser *menor* que a solicitada (ex. alfabeto de 32 símbolos × 10 caracteres = 50 bits, não 256); a ferramenta avisa em vermelho quando acontece, pois uma string curta com alfabeto personalizado pode ser bem mais fraca do que parece.

**Por que três codificações lado a lado?** Uma chave de 256 bits são 64 caracteres hex, ~44 base64, ou 43 base64url. Sistemas diferentes esperam formatos diferentes; mostrar os três permite escolher corretamente sem reexecutar.

Casos de uso: chaves AES-256, chaves HMAC, secrets de assinatura JWT, API keys, secrets de sessão, qualquer valor que um atacante não deva conseguir adivinhar. `crypto.randomBytes()` e `crypto.randomInt()` provêm do CSPRNG do SO — nunca `Math.random()`.

## Entradas

- **Entropia (bits)** (number): e.g. 256
- **Codificação de saída** (select)
- **Alfabeto personalizado (opcional)** (text): e.g. abcdefghijklmnopqrstuvwxyz (leave empty for byte encoding)
- **Comprimento personalizado** (number): e.g. 32
- **Quantidade** (number): e.g. 1

## Quando usar

- Quando você precisa gerar chaves criptográficas fortes, como chaves AES-256 ou segredos HMAC, com um nível de entropia garantido.
- Ao criar tokens de API, segredos de sessão ou identificadores únicos que não podem ser adivinhados por atacantes.
- Quando necessita de strings aleatórias com alfabetos customizados sem introduzir viés de módulo na seleção dos caracteres.

## Como funciona

- Você define a quantidade de entropia desejada em bits (por exemplo, 256 bits) ou especifica um alfabeto e comprimento personalizados.
- O gerador utiliza o CSPRNG do sistema operacional para obter bytes aleatórios seguros através de crypto.randomBytes ou realiza amostragem por rejeição via crypto.randomInt.
- A ferramenta calcula a entropia real entregue e exibe o resultado instantaneamente em codificações hex, base64 e base64url lado a lado para fácil cópia.

## Casos de uso

- Geração de segredos de assinatura para tokens JWT (JSON Web Tokens) usando HS256 ou HS512.
- Criação de chaves simétricas seguras para algoritmos de criptografia como AES-256.
- Geração de tokens de API e chaves de acesso legíveis por humanos usando alfabetos alfanuméricos personalizados sem viés.

## Perguntas frequentes

### Por que usar esta ferramenta em vez de geradores baseados em Math.random()?

O Math.random() não é criptograficamente seguro e produz valores previsíveis. Esta ferramenta usa CSPRNG (como crypto.randomBytes), garantindo alta entropia e segurança contra ataques de adivinhação.

### O que é o viés de módulo (modulo bias) e como esta ferramenta o evita?

O viés de módulo ocorre quando a divisão aritmética favorece certos caracteres em alfabetos personalizados. Esta ferramenta usa amostragem por rejeição interna com crypto.randomInt para garantir que todos os caracteres tenham a mesma probabilidade de escolha.

### Como a entropia em bits se relaciona com o tamanho da chave gerada?

Cada byte gerado fornece 8 bits de entropia. Por exemplo, uma chave de 256 bits de entropia requer exatamente 32 bytes aleatórios, que são codificados em hex (64 caracteres) ou base64 (44 caracteres).

### Posso gerar múltiplas chaves de uma só vez?

Sim, você pode ajustar o campo de quantidade para gerar até 100 chaves ou tokens aleatórios seguros simultaneamente com as mesmas configurações.

### Por que recebi um aviso em vermelho ao usar um alfabeto personalizado?

O aviso indica que a entropia real da string gerada (calculada como comprimento × log₂ do tamanho do alfabeto) é menor do que a entropia em bits solicitada, alertando sobre uma chave potencialmente mais fraca.

## Ferramentas relacionadas

- [Gerador e Verificador Ed25519 / X25519](https://elysiatools.com/pt/tools/ed25519-x25519-keygen-signature-verifier): Gera chaves Ed25519 ou X25519 e suporta assinatura e verificacao de mensagens com Ed25519
- [Gerador de hash de texto](https://elysiatools.com/pt/tools/text-hash-generator): Calcula MD5, SHA-1, SHA-256, SHA-512 e CRC-32 de qualquer texto de uma vez. Retorna hex e Base64 sobre a codificação UTF-8.
- [Gerador de assinatura digital](https://elysiatools.com/pt/tools/digital-signature-generator): Assina uma mensagem com uma chave privada ou verifica uma assinatura com uma chave pública — suporta RSA-PSS (SHA-256), ECDSA (P-256) e Ed25519. Criptografia puramente local (Node crypto.createVerify/createSign), sem rede. Cole uma chave PEM para assinar ou verificar uma assinatura base64. Esta ferramenta assina/verifica; não gera pares de chaves.
- [Gerador de PKCE Code Verifier e Challenge](https://elysiatools.com/pt/tools/pkce-code-verifier-generator): Gera, valida e verifica pares code_verifier / code_challenge PKCE (RFC 7636) de OAuth2 / OIDC. Três modos: (1) gerar um par novo a partir de bytes aleatórios criptográficos (256/384/512/768 bits), (2) auditar um verifier existente frente ao RFC — comprimento (43–128), charset \[A-Za-z0-9-._~\] e ≥256 bits de entropia, e (3) verificar um par recalculando BASE64URL(SHA256(verifier)). Opcionalmente constrói a URL completa de autorização e o corpo de troca de token. Complementa o nonce-generator genérico (que só emite o par) com auditoria de conformidade RFC e verificação de pares.
- [Criptografar / Descriptografar RSA](https://elysiatools.com/pt/tools/rsa-encrypt-decrypt): Criptografa texto com uma chave pública RSA ou descriptografa o texto cifrado com a chave privada correspondente, usando padding OAEP (SHA-1 ou SHA-256). Trata mensagens longas em blocos. Chaves e dados ficam locais. PKCS#1 v1.5 não é oferecido (Node o desabilita para descriptografia devido a ataques Bleichenbacher).
- [Soma de verificação CRC32](https://elysiatools.com/pt/tools/crc32-checksum): Calcula a soma CRC32 (polinômio IEEE 802.3) de qualquer texto ou bytes. Saída em hex, decimal ou binário. Aceita texto (UTF-8) ou bytes via hex/base64.
- [Gerador de Data URI](https://elysiatools.com/pt/tools/data-uri-generator): Converte arquivos em Data URIs (Base64 ou porcentagem-codificada) para incorporar imagens, fontes e recursos diretamente em HTML, CSS ou Markdown
- [Comparador de algoritmos de hash](https://elysiatools.com/pt/tools/hash-algorithm-comparator): Aplica MD5, SHA-1, SHA-256, SHA-512, BLAKE2b e BLAKE3 à mesma entrada e compara: tamanho, digest hex/Base64, status de segurança (quebrado/moderno) e benchmark de velocidade relativa. Útil para ensino, escolha de algoritmo ou checagem de checksums.

## Exemplos

- [Amostras de Áudio MP3 Livres de Direitos Autorais](https://elysiatools.com/pt/samples/mp3-samples): Coleção de amostras de áudio livres de direitos autorais para testes e desenvolvimento, incluindo sons da natureza, música de meditação e áudio ambiente
- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato

## Conteúdo relacionado

- [Ferramentas de fluxo para tokens, sessoes e 2FA](https://elysiatools.com/pt/hubs/token-session-and-2fa-workflows): Depure fluxos reais de login com geradores de PKCE e nonce, inspecao de JWT e JWK, verificacao HMAC, testes de OTP e TOTP e identificadores uteis para autenticacao reunidos em um unico hub.
- [Ferramentas de conversão de caixa, codificação e normalização de texto](https://elysiatools.com/pt/hubs/text-convert): Compare conversão de caixa de texto, conversão de largura de caracteres, conversão de codificação, tratamento de quoted-printable e normalização de texto em um único hub.
- [Ferramentas de Text](https://elysiatools.com/pt/hubs/text-utility): Explore 33 ferramentas de text para fluxos de utility e encontre utilitários próximos com rapidez.
- [Ferramentas de análise de texto, legibilidade e inspeção de conteúdo](https://elysiatools.com/pt/hubs/text-analyze): Compare estatísticas de texto, detecção de idioma, legibilidade, análise de sentimento, revisão de moderação e análise de padrões em um único hub.
