Gerador de string aleatória

Gere caracteres alfanuméricos, hex ou um alfabeto customizado usando getRandomValues.

{{ randomString.message }}

{{ t("randomStrMaxLen") }}

Descrição

Computadores são máquinas determinísticas: dado o mesmo estado inicial, executam exatamente as mesmas operações e produzem exatamente os mesmos resultados. Isso é uma virtude enorme para confiabilidade e debugging, mas um problema sério quando você precisa de aleatoriedade. A solução histórica foi o gerador de números pseudoaleatórios (PRNG): um algoritmo que, dado um número inicial chamado semente, produz uma sequência que parece aleatória mas é completamente determinística. O Gerador Linear Congruencial (LCG), formalizado por D. H. Lehmer em 1948, foi por décadas o padrão: pegar o número anterior, multiplicar por uma constante, adicionar outro valor e tirar o resto da divisão por um módulo. Simples, rápido, implementável em poucas linhas. O problema é que LCGs têm padrões previsíveis com saída suficiente — em 1993, o jogo online Netrek foi comprometido porque seu gerador pseudoaleatório de tokens de autenticação era um LCG com parâmetros conhecidos e fáceis de reverter.

A Web Crypto API, disponível em todos os browsers modernos, resolve o problema com `window.crypto.getRandomValues()` — uma função que solicita entropia real do sistema operacional. Essa entropia vem de fontes físicas de ruído: movimentos do mouse, timings de disco, interrupções de hardware, atividade de rede. O Linux acumula essa entropia num pool especial e a disponibiliza para processos. O `Math.random()` do JavaScript — apesar de usar algoritmos modernos como xorshift128+ no motor V8 — não é adequado para fins de segurança porque sua semente pode ser previsível dependendo da implementação e não é protegida contra análise. Para qualquer string destinada a autenticação, tokens de sessão, IDs únicos ou tokens CSRF, `getRandomValues()` é o padrão correto.

Na prática, strings aleatórias são necessárias em mais lugares do que a maioria dos desenvolvedores percebe. IDs de recursos em APIs REST precisam ser únicos e preferencialmente não incrementais — IDs sequenciais expõem o volume de dados e facilitam a enumeração por atacantes. Tokens de acesso de API precisam ser suficientemente longos para resistir a força bruta: uma string hexadecimal de 32 bytes tem 256 bits de entropia, que é hoje o padrão mínimo aceitável para segredos. Senhas temporárias para fluxos de redefinição de acesso. Nomes únicos de arquivos temporários para evitar condições de corrida. O paradoxo do aniversário tem implicações práticas aqui: para IDs de 8 caracteres alfanuméricos (62 símbolos possíveis), a probabilidade de colisão começa a ser razoável já com cerca de 218 mil IDs gerados. Para 16 caracteres, o número sobe para 14 bilhões. Esta ferramenta usa `getRandomValues()` e suporta comprimento, alfabeto e codificação configuráveis.

Detalhamento técnico

Pontos frequentes

  • Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
  • Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
  • Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Trecho para testar

  • Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Uso — IDs de teste: 16 caracteres [a-zA-Z0-9]

Guia da ferramenta

  • O que é uma string aleatória Sequência imprevisível de símbolos escolhidos de um alfabeto (letras, números ou conjunto customizado).

  • O que a ferramenta faz Gera comprimento configurável usando crypto.getRandomValues no navegador, com modos alfanumérico, hexadecimal ou caracteres que você definir.

  • Por que usar IDs de teste, seeds de exemplo, preenchimento de campos. Para senhas com políticas ricas, prefira também o gerador de senhas do site.

Exemplo de Código

Exemplo de código
IDs de teste: 16 caracteres [a-zA-Z0-9]

Uso

IDs de teste: 16 caracteres [a-zA-Z0-9]

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.