Cifra monoalfabética: cifre e decifre com chave de 26 letras
Com a chave QWERTYUIOPASDFGHJKLZXCVBNM, Hello World vira Itssg Vgksr: você fornece o alfabeto cifrado completo de 26 letras, cada letra tem uma única troca fixa e a decifragem inverte a tabela. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hello World
- Key
- QWERTYUIOPASDFGHJKLZXCVBNM
- Ação
- Encrypt
- Resultado
- Itssg Vgksr
- Alfabeto
- QWERTYUIOPASDFGHJKLZXCVBNM
- Letras mapeadas
- 10
Uma cifra de substituição simples, também chamada cifra monoalfabética, substitui cada letra do alfabeto por exatamente outra e mantém esse mapeamento fixo em toda a mensagem. Diferente de uma cifra por palavra-chave que monta o alfabeto a partir de uma semente curta, esta ferramenta recebe como chave o alfabeto cifrado completo de vinte e seis letras para que voce controle cada correspondência diretamente. Cole o texto claro ou o texto cifrado, forneça uma permutação de A a Z, escolha cifrar ou decifrar e receba a string transformada com a contagem de letras mapeadas. Espaços, dígitos e pontuação passam inalterados enquanto as maiúsculas e minúsculas são preservadas. Use para demonstrações monoalfabéticas em sala de aula, design de enigmas, aquecimentos de CTF e ofuscação reversível de notas curtas.
Como funciona o alfabeto-chave monoalfabético
Em uma cifra clássica de substituição simples, o alfabeto do texto claro de A a Z é emparelhado posição a posição com um alfabeto cifrado do mesmo comprimento. A chave que voce fornece é esse alfabeto cifrado: o primeiro caractere substitui A, o segundo substitui B, e assim por diante até Z. Por exemplo, a chave QWERTYUIOPASDFGHJKLZXCVBNM mapeia o A em claro para Q, B para W, C para E, e assim por diante, produzindo uma tabela monoalfabética fixa para toda a mensagem.
A cifragem localiza cada letra no alfabeto claro e emite o caractere no mesmo índice da chave; a decifragem faz a busca inversa de modo que ida e volta restauram exatamente o casing original e os caracteres não alfabéticos. Dígitos, espaços, pontuação, emoji e escritas não latinas não entram no mapa — são copiados como estão para que datas, códigos e formatação permaneçam legíveis.
Formas maiúsculas e minúsculas da mesma letra compartilham uma entrada; o motor preserva o case de cada caractere de origem, de modo que HELLO e hello cifram de forma coerente em relação à mesma chave. Como o mapeamento é fixo para cada letra da mensagem, a análise de frequência ainda pode quebrar textos cifrados longos em inglês; esta ferramenta é para ensino, enigmas e ofuscação leve, não para proteger segredos em repouso ou em trânsito.
Prefira esta página quando a intenção de busca for cifra de substituição monoalfabética ou substituição simples com alfabeto-chave completo; alfabetos gerados por palavra-chave, deslocamentos César e cifras polialfabéticas Vigenère atendem intenções diferentes e permanecem ferramentas separadas.
Cifrar, decifrar e validar chaves incompletas
Envie uma string text obrigatória e uma string key obrigatória e, opcionalmente, defina action como encrypt ou decrypt (encrypt é o padrão). A chave é aparada e deve conter apenas letras de A a Z. Após a normalização para maiúsculas, deve ter exatamente vinte e seis caracteres e usar cada letra do alfabeto exatamente uma vez.
Se o comprimento não for vinte e seis, a chamada falha informando chave incompleta e o comprimento real para que voce complete o alfabeto em vez de receber um mapa preenchido ou truncado em silêncio. Se alguma letra aparecer mais de uma vez, a chamada falha nomeando a letra repetida como chave incompleta — uma permutação deve cobrir cada letra uma vez. Encrypt percorre as letras do texto claro do alfabeto plano para o alfabeto-chave; decrypt percorre a direção oposta.
O status é beta enquanto a superfície pública se estabiliza, mas as regras de substituição seguem esta construção clássica fixa e não mudarão para entradas idênticas.
O alfabeto de substituição em aula e seus limites
Chame a capacidade com text e key como campos obrigatórios. Use action decrypt quando o texto já for texto cifrado produzido pelo mesmo alfabeto-chave. Uma aula típica mostra aos alunos uma permutação manuscrita de 26 letras, cifra uma frase curta, decifra para provar a invertibilidade e, por fim, contrasta o mapa fixo com uma cifra polialfabética mais adiante no programa.
Manuais de suporte podem reverter notas de tickets ofuscadas de propósito com um alfabeto de substituição compartilhado. Nunca trate a substituição simples como substituto de AES ou de cifragem autenticada: as frequências de letras vazam estrutura em textos em inglês mais longos. Combine a ferramenta com suas anotações de aula ou o enunciado do enigma para que os alunos verifiquem o trabalho manual frente a uma referência estável.
Casos de uso
Demonstrações monoalfabéticas em sala de aula
Mostre aos alunos um alfabeto cifrado completo de 26 letras, cifre uma frase de exemplo, decifre de volta e explique por que chaves incompletas são rejeitadas.
Aquecimentos de enigmas e CTF
Gere texto cifrado reversível para caças ao tesouro, escape rooms e desafios introdutórios de criptografia com uma chave de substituição conhecida.
Ofuscação reversível leve
Embaralhe rótulos ou notas curtas com um alfabeto completo compartilhado quando precisar de mapeamento rápido de ida e volta em vez de criptografia real.
Perguntas frequentes
Quais entradas a cifra de substituição monoalfabética precisa?
Os campos obrigatórios text e key. A chave deve ter exatamente 26 letras únicas A–Z. A action opcional é encrypt (padrão) ou decrypt.
O que é uma chave incompleta?
Uma chave que não é exatamente 26 letras únicas A–Z — comprimento errado, letras faltando ou repetições.
A cifra é determinística e segura?
É plenamente determinística para o mesmo text, key e action. É uma cifra monoalfabética clássica para ensino e enigmas, não segurança criptográfica moderna.
Como funciona a chave de 26 letras?
A chave é comparada posição por posição com o alfabeto normal: a primeira letra substitui o A, a segunda o B e assim até o Z. Com QWERTYUIOPASDFGHJKLZXCVBNM, o A vira Q, o B vira W e o C vira E.
Qual a diferença para a cifra de palavra-chave?
A cifra de palavra-chave monta o alfabeto a partir de uma palavra curta e completa o resto. Aqui você informa as 26 letras e controla cada troca, desde que cada letra apareça exatamente uma vez.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/simple-substitution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}'const res = await fetch("https://api.kit.forhosting.com/enc/simple-substitution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/simple-substitution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/simple-substitution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/simple-substitution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.simple_substitution",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Chaves incompletas — curtas demais, longas demais ou com letras repetidas — falham de imediato com uma mensagem invalid_input clara, de modo que um alfabeto parcial nunca vira em silêncio um mapa quebrado.
Cifrar, decifrar e validar chaves incompletas
Se a chave estiver ausente ou vazia após o aparo, a chamada falha com invalid_input nomeando a chave ausente. Em caso de sucesso, a resposta devolve o texto original, a chave normalizada em maiúsculas, a ação usada, o campo alphabet (igual à chave nesta construção), a string result transformada e letters_mapped contando quantos caracteres alfabéticos foram substituídos. Não há chamada de rede, semente aleatória nem dependência de relógio, de modo que testes de referência e widgets do navegador sempre coincidem com a API para a mesma entrada.
Uso da API, preços, fluxos de aula e limites práticos
O preço da API hospedada é uma tarifa fixa de US$ 0,002 por solicitação bem-sucedida; falhas de validação como chave ausente, chave incompleta ou letra repetida não consomem saldo. Mantenha os payloads em tamanhos de texto ordinários adequados a uma chamada de item em um isolado Worker; esta ferramenta é para mensagens e trechos, não para blobs binários de vários megabytes. Mantenha os nomes de campo explícitos em vez de empacotar prosa livre: o contrato permanece alinhado com OpenAPI, tipos de SDK e controles de formulário.
Perguntas técnicas
O que inclui uma resposta bem-sucedida?
O text original, a key normalizada, action, alphabet (a chave), a string result e letters_mapped (contagem de caracteres A–Z substituídos).
Quanto custa a API da cifra de substituição simples?
Cada chamada bem-sucedida à API custa US$ 0,002. O mesmo motor roda grátis no seu navegador sem necessidade de conta.