Codificador e decodificador da cifra de Bacon
Transforme letras nos códigos de cinco símbolos a e b de Francis Bacon, ou decodifique uma sequência deles: HI vira aabbb abaaa. Cada grupo precisa estar completo, então nada é adivinhado. 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
- HI
- Modo de cálculo
- encode
- Resultado
- aabbb abaaa
- Codificação
- bacon
- Comprimento da entrada
- 2
- Comprimento da saída
- 11
Esta ferramenta de cifra de Bacon codifica letras comuns no clássico alfabeto a/b de cinco símbolos de Francis Bacon, ou decodifica um fluxo válido de a/b de volta a texto em maiúsculas. Cada letra latina de A a Z tem um código fixo de cinco caracteres composto apenas por a e b, então a transformação é uma tabela reversível simples, e não uma chave secreta. O modo de codificação percorre a entrada, mantém os caracteres alfabéticos, e emite grupos separados por espaço, como aabbb para H; o modo de decodificação aceita a e b em qualquer caso, ignora separadores comuns, e reconstrói a mensagem apenas quando cada grupo é um conjunto completo de cinco símbolos.
A cifra de Bacon em aulas e quebra-cabeças
Desenvolvedores e educadores encontram a cifra de Bacon em aquecimentos de capture-the-flag, capítulos de livros didáticos sobre esteganografia clássica, e demonstrações que mostram como um alfabeto de dois símbolos ainda pode carregar texto latino completo, quando as mensagens são empacotadas cinco símbolos por vez. Equipes de frontend podem mostrar codificação e decodificação lado a lado, para que os aprendizes vejam que aabbb abaaa é exatamente HI, sem inventar uma tabela personalizada.
Serviços de backend pré-calculam strings de desafio para APIs de quebra-cabeça ou sandboxes de ensino em que os estudantes precisam remontar grupos completos de cinco símbolos para desbloquear o próximo passo. Engenheiros de qualidade geram pares determinísticos de codificação e decodificação para testes de contrato, para que um middleware que afirma suportar Bacon não possa trocar silenciosamente para Morse ou descartar grupos incompletos.
Organizadores de competições pré-calculam gabaritos para frases modestas em inglês sem depender de brinquedos web opacos que preenchem grupos curtos ou forçam saída apenas em maiúsculas com espaçamento diferente. Ferramentas de produto e educação usam a transformação quando um aprendiz cola uma string biliteral e a interface precisa mostrar as letras recuperadas sob a tabela documentada.
Combine-a com outros auxiliares de codificação clássica ao montar um pequeno laboratório de ferramentas de texto gratuitas e determinísticas, e nunca trate a cifra de Bacon como substituta de criptografia moderna autenticada quando segredos reais estiverem em jogo.
Casos de uso
Prática de cifras clássicas e CTF
Codifique e decodifique grupos a/b de cinco símbolos para planilhas de sala de aula, módulos de história e aquecimentos de capture-the-flag.
Demonstrações de tabela de esteganografia
Mostre o alfabeto biliteral nu que historicamente escondia mensagens na tipografia, sem exigir embutimento de fontes na ferramenta.
Perguntas frequentes
Como decodifico uma mensagem de Bacon?
Envie o texto cifrado a/b como text e defina mode como decode (ou dec, decrypt, d). A codificação é o padrão quando mode é omitido. Os grupos podem estar espaçados; cada um deve ter cinco símbolos a/b.
O que acontece se um grupo não tiver cinco símbolos?
Depois que os separadores são removidos, o comprimento do fluxo a/b deve ser um múltiplo de cinco; grupos finais incompletos não são preenchidos.
Quais caracteres são codificados?
Apenas letras alfabéticas A–Z, em qualquer caso. Espaços, dígitos e pontuação são ignorados na codificação. A decodificação aceita a/b (em qualquer caso) mais separadores comuns.
A cifra de Bacon é segura para segredos reais?
Não. É uma cifra didática clássica com uma tabela pública fixa. Use criptografia moderna autenticada, como AES-GCM, para confidencialidade real.
Por que A é aaaaa e Z é bbaab?
Porque a tabela trata a como 0 e b como 1 e escreve a posição de cada letra com cinco dígitos binários. A ocupa a posição zero e vira aaaaa, B vira aaaab, e assim por diante até Z, que fica bbaab.
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/bacon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HI"}'const res = await fetch("https://api.kit.forhosting.com/enc/bacon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HI"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/bacon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HI"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/bacon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HI"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HI"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/bacon", 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": "HI"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.bacon",
"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
Um grupo final incompleto, um padrão desconhecido de cinco símbolos, ou um caractere que não é a, b, ou um separador falha com invalid_input, em vez de adivinhar. Use gratuitamente no navegador para lições de história da criptografia, demonstrações de esteganografia que ainda precisam do mapeamento nu do alfabeto, e planilhas de quebra-cabeça reversíveis, ou chame a API por US$ 0,002 a cada solicitação bem-sucedida quando pipelines precisarem de transformações de Bacon reproduzíveis.
O que é a cifra de Bacon e o que esta ferramenta retorna
A cifra de Bacon, também chamada de cifra biliteral de Bacon, é uma substituição clássica na qual cada letra de uma mensagem é substituída por uma palavra de cinco símbolos, extraída de um alfabeto de duas letras, geralmente escrito como a e b. A tabela moderna de vinte e seis letras trata esses símbolos como dígitos binários, com a igual a zero e b igual a um, então A é aaaaa, B é aaaab, e assim por diante até Z como bbaab. Historicamente, os códigos eram destinados a ser escondidos dentro de texto comum, alterando a fonte tipográfica ou a capitalização; este produto expõe apenas a tabela nua de codificação e decodificação, para que professores, autores de quebra-cabeças e autores de testes possam trabalhar com os códigos em si sem simular fontes. Esse mapeamento fixo é exatamente o que este endpoint aplica: não há fluxo de palavra-chave, deslocamento modular, ou arquivo de alfabeto opcional que pudesse divergir entre localidades. A resposta em JSON sempre inclui result para a string transformada, encoding fixado em bacon, mode definido como encode ou decode, input_length e output_length para as strings brutas que você enviou e recebeu, letter_count para quantas letras A–Z foram produzidas ou consumidas, e uma string formula que reafirma a regra da tabela binária para documentação e verificações automatizadas. Não há caminho de streaming nem fallback silencioso para Morse, Base64, ou uma palavra-chave de Vigenère: ou o payload é válido para o modo escolhido, ou a solicitação falha com invalid_input. Se você precisa de cifras polialfabéticas, variantes ROT, ou criptografia moderna autenticada, use esses endpoints dedicados; esta página responde apenas ao contrato Baconiano A/B de cinco símbolos, que os capítulos de história da criptografia já descrevem.
Como texto e modo são interpretados e como grupos incompletos falham
No modo de decodificação, cada a ou b é coletado em um fluxo contínuo, enquanto espaços, tabulações, quebras de linha, hífens, sublinhados, vírgulas, pontos, barras e pipes são tratados como separadores inofensivos entre grupos. Qualquer outro caractere é rejeitado imediatamente. Cada fatia completa de cinco símbolos também deve existir na tabela de vinte e seis letras; padrões fora dos códigos A–Z falham como grupos desconhecidos. Os campos de payload preferidos são text para a mensagem ou o texto cifrado, e mode opcional para encode ou decode. Text aceita aliases como input, value, s, message, plaintext e ciphertext, para que formulários e clientes de SDK possam reutilizar nomes de coluna já existentes. Mode assume encode por padrão quando omitido, e também aceita aliases curtos como enc, encrypt, e para encode, e dec, decrypt, d para decode; qualquer outra string falha na validação. No modo de codificação, apenas letras alfabéticas são mantidas e mapeadas, o caso é ignorado na entrada, e o resultado são grupos a/b em minúsculas separados por espaços únicos; se nenhuma letra permanecer após a filtragem, o mecanismo rejeita a solicitação com invalid_input, para que uma string apenas com dígitos não pareça uma cifra vazia bem-sucedida. Depois da limpeza, o comprimento do fluxo deve ser um múltiplo de cinco: um resto de um a quatro símbolos significa um grupo que não tem cinco símbolos, e essa condição sempre gera invalid_input com uma mensagem explícita de grupo incompleto, em vez de preencher com zeros ou inventar uma letra. Text ausente, texto vazio, tipos não string, e modos desconhecidos também geram invalid_input. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo resultado matemático dentro de um pipeline automatizado. Entradas inválidas retornam invalid_input e não são cobradas, o que mantém a validação barata enquanto as transformações bem-sucedidas permanecem com um preço fixo por item.
Onde a cifra de Bacon se encaixa em lições, quebra-cabeças e fixtures de teste
Nesta página o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do resto do catálogo tier A do KIT e permite passar de uma demonstração em sala de aula para um pipeline automatizado sem mudar o resultado transformado.
Casos de integração
Fixtures determinísticas de CI
Gere pares reproduzíveis de texto cifrado e texto plano em Bacon para testes unitários, arquivos golden e verificações de contrato.
Perguntas técnicas
Quanto custa a ferramenta de cifra de Bacon?
É gratuita no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.