Cifra de transposição colunar
Com a chave ZEBRAS, WEAREDISCOVEREDFLEEATONCE vira EVLNACDTESEAROFODEECWIREE: o texto é escrito em linhas de seis colunas e lido coluna por coluna na ordem alfabética da chave. A mesma chave decifra. 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
- WEAREDISCOVEREDFLEEATONCE
- Chave
- ZEBRAS
- Modo de cálculo
- encrypt
- Resultado
- EVLNACDTESEAROFODEECWIREE
- Codificação
- columnar
- Comprimento da chave
- 6
- Ordem das colunas
- 4, 2, 1, 3, 5, 0
Esta ferramenta de cifra de transposição colunar cifra ou decifra texto reorganizando caracteres sob uma palavra-chave, em vez de substituir letras. Você informa uma mensagem, uma chave não vazia, e um modo opcional; o mecanismo constrói uma grade cuja largura é igual ao comprimento da chave, escreve o texto da esquerda para a direita e de cima para baixo, e então lê cada coluna de cima para baixo, na ordem obtida ao ordenar os caracteres da chave. Decifrar reverte esse layout, para que a mesma palavra-chave restaure a string original bit a bit. Uma verificação clássica é WEAREDISCOVEREDFLEEATONCE sob a chave ZEBRAS, cifrando para um texto cifrado conhecido, que decifra de volta sob a mesma palavra-chave.
O que é a transposição colunar e o que esta ferramenta retorna
A transposição colunar é uma cifra clássica de reorganização: o segredo é a ordem das colunas, não uma tabela de substituição de letras. A palavra-chave define tanto quantas colunas a grade tem quanto a sequência em que essas colunas são lidas ao cifrar.
Os caracteres do texto plano são escritos na grade linha por linha; quando a última linha está incompleta, as colunas à esquerda simplesmente têm um caractere a mais que as da direita, seguindo a regra usual de livro-texto que preserva o comprimento, sem caracteres de preenchimento forçados, a menos que você mesmo os coloque na entrada.
A cifragem concatena as colunas na ordem definida pela palavra-chave; a decifragem escreve o texto cifrado de volta nessas colunas, usando as mesmas alturas derivadas do comprimento total e da largura da chave, e então lê a grade linha por linha para recuperar o original. O desempate é estável: se dois caracteres da chave forem iguais, a coluna da esquerda é considerada primeiro, para que letras repetidas não inventem uma ordem ambígua.
Esta página sempre aplica essa regra fixa e nunca troca silenciosamente para transposição de rota, cerca de ferrovia (rail fence), ou uma cifra de substituição.
Onde a transposição colunar aparece em aulas e charadas
Desenvolvedores e educadores encontram a transposição colunar em aquecimentos de capture-the-flag, capítulos de livros didáticos sobre criptologia clássica, e demonstrações que mostram por que a reorganização sozinha não basta contra ataques de texto plano conhecido e anagrama, quando o comprimento da mensagem cresce. Equipes de frontend podem embaralhar frases de exemplo para capturas de tela sem inventar um alfabeto personalizado, e depois recuperá-las com decrypt sob a mesma chave.
Serviços de backend codificam strings curtas de desafio para APIs de quebra-cabeça ou sandboxes de ensino, em que os estudantes precisam reconstruir a grade para desbloquear o próximo passo. Engenheiros de qualidade geram pares determinísticos de cifragem e decifragem para testes de contrato, para que um middleware que afirma suportar transposição colunar não possa trocar silenciosamente para um padrão de cerca de ferrovia ou descartar espaços.
Organizadores de competições pré-calculam gabaritos para frases modestas em inglês sem depender de brinquedos web opacos que forçam saída apenas em maiúsculas ou inserem caracteres X de preenchimento que você nunca pediu. Ferramentas de produto e educação usam a transformação quando um aprendiz cola um texto cifrado e a interface precisa mostrar o texto plano recuperado sob a palavra-chave 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 transposição colunar como substituta de criptografia moderna autenticada.
Casos de uso
Prática de CTF e cifras clássicas
Cifre e decifre frases colunares ordenadas por palavra-chave para quebra-cabeças, salas de aula e aquecimentos de capture-the-flag.
Lições de história da criptografia
Demonstre a reorganização de escrever em linhas e ler em colunas, letras estáveis com chave repetida, e grades que preservam o comprimento sem preenchimento forçado.
Perguntas frequentes
Como decifro um texto cifrado colunar?
Envie o texto cifrado como text, a mesma palavra-chave como key, e defina mode como decrypt (ou dec, decode, d). A cifragem é o padrão quando mode é omitido.
O que acontece se a chave estiver vazia?
A palavra-chave deve ser uma string não vazia, para que o mecanismo possa ordenar pelo menos uma coluna.
Espaços e pontuação são mantidos?
Sim. Todo caractere da entrada é reorganizado; nada é removido ou tem seu caso alterado. Espaços e símbolos se movem junto com as letras.
A transposição colunar é segura para segredos reais?
Não. É uma cifra didática clássica. Use criptografia moderna autenticada, como AES-GCM, para confidencialidade real.
O que acontece se a chave tiver letras repetidas?
A ordem continua bem definida: entre duas letras iguais na chave, a coluna mais à esquerda é lida primeiro. Assim, letras repetidas nunca criam uma ordem ambígua de leitura das colunas.
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/columnar \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"WEAREDISCOVEREDFLEEATONCE","key":"ZEBRAS"}'const res = await fetch("https://api.kit.forhosting.com/enc/columnar", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "WEAREDISCOVEREDFLEEATONCE",
"key": "ZEBRAS"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/columnar",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "WEAREDISCOVEREDFLEEATONCE",
"key": "ZEBRAS"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/columnar", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"WEAREDISCOVEREDFLEEATONCE","key":"ZEBRAS"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"WEAREDISCOVEREDFLEEATONCE","key":"ZEBRAS"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/columnar", 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": "WEAREDISCOVEREDFLEEATONCE",
"key": "ZEBRAS"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.columnar",
"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
Todos os caracteres se movem juntos — espaços, dígitos e pontuação mantêm seus lugares na sequência e nunca são removidos —, então frases e payloads de CTF permanecem fiéis às planilhas de livros didáticos. Use gratuitamente no navegador para lições de história da criptografia, design de quebra-cabeças, e demonstrações reversíveis de laboratório, ou chame a API por US$ 0,002 a cada solicitação bem-sucedida quando pipelines precisarem de transformações colunares reproduzíveis.
O que é a transposição colunar e o que esta ferramenta retorna
A resposta em JSON inclui result para a string reorganizada, encoding fixado em columnar, mode definido como encrypt ou decrypt, key ecoando a palavra-chave que você informou, key_length, column_order como os índices originais baseados em zero na ordem de leitura, input_length e output_length, que sempre coincidem porque a transformação apenas permuta, e uma string formula que reafirma o contrato de escrever em linhas e ler em colunas, para documentação e testes. Não há caminho de streaming nem fallback silencioso para Vigenère ou Base64: ou você informa um texto não vazio e uma chave não vazia, ou a solicitação falha com invalid_input. Se você precisa de deslocamentos polialfabéticos, Morse, ou criptografia moderna, use esses endpoints dedicados; esta página responde apenas ao contrato clássico de palavra-chave colunar que os capítulos de história da criptografia e os aquecimentos de CTF já descrevem.
Como texto, chave e modo são interpretados e como os resultados permanecem reproduzíveis
Os campos de payload preferidos são text para a mensagem, key para a palavra-chave, e mode opcional para encrypt ou decrypt. 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, sem renomear cada ponto de chamada. Key aceita keyword, k, password e passphrase; a string inteira não vazia define as colunas, incluindo dígitos e símbolos se você os incluir, porque a ordenação usa comparação de caracteres Unicode, em vez de reduzir apenas a A–Z. Uma chave vazia ou ausente é rejeitada com invalid_input e uma mensagem clara de que uma palavra-chave não vazia é necessária para ordenar as colunas. Mode assume encrypt por padrão quando omitido, e também aceita aliases curtos como enc, encode, e para encrypt, e dec, decode, d para decrypt; qualquer outra string falha na validação. Text ausente, texto vazio, tipos não string, e modos desconhecidos todos geram invalid_input, para que um formulário em branco não pareça uma operação vazia bem-sucedida. A ordem das colunas é calculada uma vez a partir da chave, e então a mesma fórmula de alturas é usada na cifragem e na decifragem, para que uma ida e volta sempre restaure o payload original para qualquer string não vazia sob essa palavra-chave. Combine a execução gratuita no navegador desta página com a API paga quando precisar da mesma permutação dentro de um pipeline automatizado, sem reimplementar o empacotamento em grade você mesmo. 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 transposição colunar 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 reorganizado.
Casos de integração
Fixtures determinísticas de CI
Gere pares reproduzíveis de texto cifrado e texto plano colunar para testes unitários, arquivos golden e verificações de contrato.
Perguntas técnicas
Quanto custa a ferramenta de transposição colunar?
É 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.