Checksum CRC-16 Kermit
Os nove caracteres 123456789 dão o valor CRC-16 Kermit 2189, o resultado de referência deste perfil, então você descobre na hora se um equipamento ou uma biblioteca usa mesmo o Kermit. Cole qualquer texto para obter o resíduo de 16 bits. 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
- 123456789
- CRC em hex
- 2189
- CRC (inteiro)
- 8.585
- Contagem de bytes
- 9
- Algoritmo
- CRC-16/KERMIT
CRC-16 Kermit é a verificação de redundância cíclica de dezesseis bits definida pelo protocolo de transferência de arquivos Kermit e catalogada como CRC-16/KERMIT. Usa o polinômio gerador CCITT refletido 0x1021 (implementado como 0x8408 na forma refletida), inicia o registrador em zero, reflete os bytes de entrada e o residual final e não aplica exclusive-or final. Implementadores de protocolo, autores embarcados e quem verifica quadros no estilo Kermit precisam de um residual determinístico ao montar pacotes, fixar testes unitários ou comparar com calculadoras offline. Esta capacidade recebe uma string de texto não vazia, codifica em UTF-8, executa exatamente esse algoritmo e devolve o residual como quatro dígitos hexadecimais em maiúsculas mais a forma inteira sem sinal.
O que é CRC-16 Kermit e quando usá-lo
Uma verificação de redundância cíclica dobra cada byte de entrada por um polinômio gerador fixo de modo que um único bit invertido quase sempre altera o residual.
CRC-16/KERMIT é o perfil de dezesseis bits que o protocolo Kermit e muitas ferramentas seriais adotaram da família CCITT: o gerador não refletido é 0x1021, mas como entrada e saída são refletidas, o código prático bit a bit usa o polinômio refletido 0x8408, inicializa o registrador em 0x0000, combina com XOR cada byte de dados nos oito bits baixos e executa oito passos de deslocamento e XOR condicional por byte sem máscara final de exclusive-or.
O vetor de verificação clássico são os nove dígitos ASCII de um a nove, que devem produzir o residual 0x2189; se a biblioteca discorda desse valor, não é CRC-16/KERMIT mesmo que anuncie CCITT. Não confunda este perfil com CRC-16/CCITT-FALSE (init 0xFFFF, sem reflexão), CRC-16/XMODEM ou CRC-16/MODBUS (poly 0xA001, init 0xFFFF): compartilham nomes de família, mas geram residuais diferentes para a mesma carga. Não use como hash de senha nem como MAC com chave: CRCs são funções lineares públicas e não oferecem segredo contra um atacante motivado.
Perguntas frequentes
Como calcular um checksum CRC-16 Kermit?
Envie uma string de texto não vazia no campo text.
Qual polinômio e valor inicial esta ferramenta usa?
CRC-16/KERMIT: polinômio refletido 0x8408 (forma normal 0x1021), registrador inicial 0x0000, reflexão de entrada e saída, sem XOR final. O vetor de verificação 123456789 produz 2189.
O que acontece se eu enviar entrada vazia?
Forneça pelo menos um caractere de texto para o checksum.
CRC-16 Kermit é o mesmo que CRC-16 Modbus ou CCITT-FALSE?
Não. Modbus usa poly 0xA001 e init 0xFFFF. CCITT-FALSE usa init 0xFFFF sem o mesmo perfil de reflexão. Kermit produz 2189 para 123456789; esses outros perfis geram valores diferentes.
Posso digitar os bytes em hexadecimal?
Não. Esta ferramenta não tem modo hexadecimal: ela calcula sobre os bytes UTF-8 exatamente do texto que você cola. Números viram texto antes, então 123456789 é tratado como esses nove caracteres.
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/crc16-kermit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/crc16-kermit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/crc16-kermit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/crc16-kermit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/crc16-kermit", 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": "123456789"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.crc16_kermit",
"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
A entrada vazia é rejeitada com invalid_input para que ninguém confunda uma carga de comprimento zero com um checksum bem-sucedido.
O que é CRC-16 Kermit e quando usá-lo
Use este endpoint sempre que uma especificação nomeie CRC Kermit, CRC-16/KERMIT ou CCITT refletido com init zero; quando fixar residuais dourados em integração contínua para uma pilha Kermit; ou quando precisar de uma calculadora visível no navegador que coincida byte a byte com as ferramentas de servidor.
Contrato de entrada, entrada vazia e campos de resposta
A string é codificada como UTF-8 e cada byte resultante entra no CRC; não há modo hex separado nesta capacidade — cole o texto literal que deseja verificar. Números e booleanos são aceitos convertendo-os primeiro em string, o que facilita demos simples de calculadora. Validação falha não é faturada. Fixe em regressão o vetor conhecido um-dois-três-quatro-cinco-seis-sete-oito-nove igual a dois um oito nove para que um erro de polinômio ou reflexão nunca seja publicado. Envie por POST um corpo JSON com o campo de string obrigatório text. Texto vazio, incluindo string de comprimento zero após omitir conteúdo útil, é rejeitado com invalid_input e uma mensagem que reporta entrada vazia para que interfaces de formulário e clientes API destaquem o campo sem adivinhar. Ausência de text, null ou valor que não seja string nem escalar também falham com invalid_input. Em sucesso, o corpo inclui crc_hex como quatro dígitos hexadecimais em maiúsculas do residual completo de dezesseis bits, crc_int como o inteiro sem sinal de zero a sessenta e cinco mil quinhentos e trinta e cinco, byte_count da carga UTF-8, e strings fixas algorithm, poly e init que documentam CRC-16/KERMIT com polinômio refletido 0x8408 e init 0x0000. Aliases data, payload, value e input são aceitos para o campo de carga, para que clientes SDK e posts de formulário legados continuem funcionando.
Onde uma API CRC-16 Kermit agrega valor real
Serviços de backend carimbam quadros de texto curtos ou blobs de configuração com o residual e recalculam na recepção para detectar corrupção acidental sem montar um hash criptográfico completo. Sites de conteúdo que ranqueiam por checksum CRC-16 Kermit ou calculadora CCITT refletida ganham uma ferramenta ao vivo cujo caminho gratuito no navegador coincide exatamente com o de automação pré-paga, o que gera confiança quando leitores comparam com utilitários e datasheets offline. Mantenha requisições determinísticas, rejeite cargas vazias na borda e obtenha reprodutibilidade de grau Kermit sem embutir tabelas CRC em cada microsserviço. Autores de protocolo incorporam a chamada ao portar uma pilha Kermit ou CCITT refletida e confirmam que o código do dispositivo, uma tabela em C e este endpoint emitem o mesmo crc_hex antes de publicar silício ou crates. Suites de integração contínua fixam pares dourados como ASCII um-dois-três-quatro-cinco-seis-sete-oito-nove mapeado a crc_hex dois um oito nove, e strings secundárias como hello ao residual que esta ferramenta documenta, para que um erro de polinômio ou flag de reflexão nunca chegue à produção. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída no caminho de computação. Combine crc_hex com o log quando precisar de um único token imprimível, ou use crc_int quando armazenar o residual como inteiro de dezesseis bits sem sinal no firmware.
Casos de integração
Verificação de quadros Kermit e seriais
Calcule CRC-16/KERMIT sobre o texto da carga e compare crc_hex com o trailer no fio para validar quadros estilo Kermit ou CCITT refletido sem uma tabela CRC local.
Checagens douradas de biblioteca e firmware
Afirme que o código do dispositivo e as ferramentas do servidor produzem ambos crc_hex 2189 para ASCII 123456789 e coincidem com seus modelos de regressão fixos para CCITT refletido.
Calculadora SEO e documentação de suporte
Ofereça uma página ao vivo de checksum CRC-16 Kermit para engenheiros que buscam o residual CCITT refletido, com execução gratuita no navegador alinhada à API pré-paga.
Perguntas técnicas
Quanto custa a ferramenta de checksum CRC-16 Kermit?
A ferramenta no navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é faturada.