Checksum CRC-32
Os nove caracteres 123456789 dão o CRC-32 cbf43926, a mesma verificação usada por arquivos ZIP e imagens PNG, então você pode comparar o resultado com qualquer ferramenta padrão. Mude um único caractere e o valor hexadecimal muda. 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
- Crc32
- cbf43926
- CRC32 como inteiro
- 3.421.780.262
- Bytes
- 9
- Algoritmo
- CRC-32/ISO-HDLC
CRC-32 é a verificação de redundância cíclica que quase todo mundo encontra ao validar arquivos ZIP, imagens PNG ou quadros de rede: um residual de 32 bits calculado com um polinômio fixo de modo que até pequenas inversões de bits alterem o resumo hexadecimal. Você obtém uma string hex de oito dígitos em minúsculas, o inteiro sem sinal correspondente, o comprimento em bytes UTF-8 e um indicador empty quando a string de origem tem comprimento zero. Nenhuma chamada de rede, sal aleatório ou relógio de parede entra no cálculo.
O que CRC-32 significa e qual polinômio esta ferramenta usa
Uma verificação de redundância cíclica trata a sua mensagem como um polinômio binário e a divide por um polinômio gerador fixo, guardando um resto curto altamente sensível a mudanças nos bits originais. Para CRC-32 o resto tem trinta e dois bits de largura, costuma ser mostrado como oito dígitos hexadecimais. Esse conjunto exato de parâmetros é o CRC de ZIP e PNG, também catalogado como CRC-32 barra ISO-HDLC ou CRC-32 barra PKZIP em tabelas de engenharia reversa.
Não é o Castagnoli CRC-32C de alguns sistemas de armazenamento, nem a variante não refletida MPEG-2, nem um hash criptográfico: CRC-32 serve para checagens rápidas de integridade contra corrupção acidental, não para resistir a falsificação deliberada. O vetor de validação conhecido é a carga ASCII de nove dígitos de um a nove, que deve produzir o hexadecimal c-b-f-quatro-três-nove-dois-seis; a entrada vazia deve produzir oito zeros.
Casos de uso
Demonstrações em sala e suporte
Mostre a estudantes e operadores como editar um caractere altera o CRC hex sem instalar utilitários locais ou bibliotecas criptográficas.
Perguntas frequentes
CRC-32 é um hash criptográfico?
Não. CRC-32 detecta corrupção acidental com rapidez; não foi feito para resistir a colisão ou falsificação deliberada. Use ferramentas da família SHA quando precisar de um digest criptográfico.
Qual é o CRC-32 de um texto vazio?
É 00000000. A entrada vazia é aceita aqui, e o resultado ainda a marca como vazia, então um texto em branco se distingue na hora de um checksum de verdade.
É o mesmo que CRC-32C?
Não. Este é o perfil do ZIP e do PNG, também catalogado como CRC-32/ISO-HDLC ou PKZIP. O CRC-32C de Castagnoli, usado por alguns sistemas de armazenamento, e a variante MPEG-2 usam outros ajustes e dão outros valores.
O que acontece com emojis e letras acentuadas?
Eles entram com os bytes reais, porque o texto é convertido primeiro para UTF-8, como faz a maioria dos formatos de arquivo e das transferências na web.
Por que o CRC muda tanto quando altero um único caractere?
Porque o resto da divisão polinomial é muito sensível aos bits originais: uma pequena edição ou um único bit trocado gera outro valor de oito dígitos. É por isso que o CRC-32 é tão bom para pegar corrupção acidental.
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/crc32 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/crc32", {
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/crc32",
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/crc32", 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/crc32", 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.crc32",
"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
Esta ferramenta de checksum CRC-32 aceita texto simples, serializa-o como UTF-8 e aplica o perfil IEEE padrão usado por PKZIP, PNG e ISO-HDLC—o mesmo caminho que produz o famoso valor de verificação cbf43926 para a string ASCII um-dois-três-quatro-cinco-seis-sete-oito-nove.
O que CRC-32 significa e qual polinômio esta ferramenta usa
Esta capacidade implementa o polinômio IEEE refletido frequentemente escrito em software como zero-x-E-D-B-oito-oito-três-dois-zero, com valor inicial todos uns e um exclusive-or final de todos uns. O texto de entrada é primeiro codificado como UTF-8 para que caracteres multibyte como letras acentuadas ou emoji contribuam com seus bytes reais no fio, como a maioria dos formatos de arquivo e corpos HTTP trata strings. Se uma ferramenta de terceiros discordar deste endpoint nos mesmos bytes UTF-8, quase sempre usa outro polinômio, outro init ou xor-out, ou outra codificação dos mesmos caracteres.
Contrato de entrada, campos de resposta e comportamento com entrada vazia
A string vazia é permitida de propósito: muitas bibliotecas CRC documentam o residual de comprimento zero como zero, e pipelines que resumem campos opcionais precisam de uma resposta estável em vez de falha dura. Algorithm é sempre o rótulo CRC-32 barra ISO-HDLC e polynomial é sempre a string zero-x-E-D-B-oito-oito-três-dois-zero para que exemplos OpenAPI e respostas de suporte citem o perfil sem ambiguidade. Não há chave de modo para outras larguras ou polinômios CRC: se você precisa de CRC-16, Adler-32 ou um digest criptográfico, use uma capacidade dedicada para que cada landing page corresponda a uma única intenção de busca. Envie um corpo JSON com o campo obrigatório text definido como a string cujo checksum você deseja calcular. Os aliases input, value, s, string e content são aceitos para que formulários antigos e clientes curtos ainda vinculam. Números finitos e inteiros grandes são convertidos em string; objetos, arrays, booleanos, null, Infinity e NaN geram invalid_input e não são cobrados. Quando o comprimento de origem é zero, a resposta define empty como true, crc32 com oito dígitos zero, crc32_int como zero e bytes como zero. Para entrada não vazia empty é false, bytes é igual ao comprimento UTF-8 (que pode exceder o comprimento em caracteres JavaScript para glifos multibyte), crc32 é o residual hex de oito dígitos em minúsculas sem prefixo zero-x, e crc32_int é o mesmo valor como inteiro de trinta e dois bits sem sinal, útil em linguagens que preferem números a strings.
Onde uma API de checksum CRC-32 justifica o uso
Desenvolvedores colam fragmentos curtos de configuração, amostras de protocolo e bases de nomes de arquivo em uma calculadora de checksum CRC-32 quando precisam de uma tag de integridade compacta compatível com ferramentas ZIP e PNG sem instalar utilitário local. Engenheiros de suporte recalculam residuais a partir do texto do ticket para confirmar que um dump colado não foi truncado em trânsito. Laboratórios educativos usam o mesmo endpoint para mostrar que mudar um caractere inverte muitos dígitos hex, ilustrando detecção de erros sem introduzir maquinaria criptográfica. 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; validação falha não consome saldo. Mantenha os payloads abaixo do teto de caracteres documentado, trate o campo hex como destino canônico de cola, e você obtém valores CRC-32 reproduzíveis e compatíveis com ZIP para docs, SDKs, workers de borda e demos de sala de aula sem levantar um serviço de hash separado.
Casos de integração
Tags de integridade compatíveis com ZIP e PNG
Calcule o CRC-32 IEEE de texto curto para que os residuais batam com ferramentas PKZIP, PNG e ISO-HDLC ao colar em tickets, notas de firmware ou checagens de configuração.
Vetores golden de CI e fixtures de entrada vazia
Fixe 123456789 → cbf43926 e vazio → 00000000 para que a integração contínua detecte na hora desvio de polinômio ou de codificação UTF-8.
Perguntas técnicas
Como calculo o checksum CRC-32 de um texto?
Envie JSON com text definido como a sua string. O campo crc32 devolve oito dígitos hex em minúsculas do residual IEEE / ZIP / PNG sobre os bytes UTF-8; crc32_int é o mesmo valor como inteiro sem sinal.
Qual polinômio CRC-32 esta ferramenta usa?
O polinômio IEEE refletido padrão 0xEDB88320 com init e xor-out 0xFFFFFFFF—o perfil de ZIP, PNG e ISO-HDLC (valor de verificação cbf43926 para 123456789).
O que acontece com a entrada vazia?
Texto vazio é válido. A resposta define empty como true, crc32 como 00000000, crc32_int como 0 e bytes como 0. Texto ausente ou não string gera invalid_input.
Quanto custa a ferramenta de checksum CRC-32?
O widget do navegador é grátis. Requisições API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.