Somme de contrôle CRC-32
Les neuf caractères 123456789 donnent le CRC-32 cbf43926, le même contrôle que celui des archives ZIP et des images PNG : vous pouvez comparer votre résultat avec n'importe quel outil standard. Changez un seul caractère et la valeur hexadécimale change. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- 123456789
- Crc32
- cbf43926
- CRC32 en entier
- 3 421 780 262
- Octets
- 9
- Algorithme
- CRC-32/ISO-HDLC
CRC-32 est le contrôle de redondance cyclique que presque tout le monde rencontre en vérifiant des archives ZIP, des images PNG ou des trames réseau : un résidu de 32 bits calculé avec un polynôme fixe de sorte que même de petits basculements de bits modifient le condensé hexadécimal. Vous obtenez une chaîne hex de huit chiffres en minuscules, l'entier non signé correspondant, la longueur en octets UTF-8 et un indicateur empty lorsque la chaîne source a une longueur nulle. Aucun appel réseau, sel aléatoire ni horloge murale n'entre dans le calcul.
Ce que signifie CRC-32 et quel polynôme cet outil utilise
Un contrôle de redondance cyclique traite votre message comme un polynôme binaire et le divise par un polynôme générateur fixe, en conservant un reste court très sensible aux changements des bits d'origine. Pour CRC-32 le reste fait trente-deux bits de large, souvent affiché sous forme de huit chiffres hexadécimaux. Cet ensemble exact de paramètres est le CRC de ZIP et PNG, aussi catalogué comme CRC-32 barre ISO-HDLC ou CRC-32 barre PKZIP dans les tables d'ingénierie inverse.
Ce n'est pas le Castagnoli CRC-32C de certains systèmes de stockage, ni la variante non réfléchie MPEG-2, ni un hachage cryptographique : CRC-32 est conçu pour des contrôles d'intégrité rapides contre la corruption accidentelle, pas pour résister à la contrefaçon délibérée. Le vecteur de validation bien connu est la charge utile ASCII de neuf chiffres de un à neuf, qui doit produire l'hexadécimal c-b-f-quatre-trois-neuf-deux-six ; l'entrée vide doit produire huit zéros.
Si un outil tiers diverge de ce point de terminaison sur les mêmes octets UTF-8, c'est presque toujours un autre polynôme, un autre init ou xor-out, ou un autre encodage des mêmes caractères.
Cas d’usage
Démonstrations en classe et support
Montrez aux étudiants et opérateurs qu'une modification d'un caractère change le CRC hex sans installer d'utilitaires locaux ni de bibliothèques cryptographiques.
Questions fréquentes
CRC-32 est-il un hachage cryptographique ?
Non. CRC-32 détecte rapidement la corruption accidentelle ; il n'est pas conçu pour résister à la collision ou à la contrefaçon délibérée. Utilisez des outils de la famille SHA pour un condensé cryptographique.
Quel est le CRC-32 d'un texte vide ?
C'est 00000000. L'entrée vide est acceptée ici, et le résultat la signale en plus comme vide, si bien qu'un texte laissé en blanc se distingue aussitôt d'une vraie somme.
Est-ce la même chose que CRC-32C ?
Non. C'est le profil de ZIP et PNG, aussi répertorié sous les noms CRC-32/ISO-HDLC ou PKZIP. Le CRC-32C de Castagnoli, employé par certains systèmes de stockage, et la variante MPEG-2 utilisent d'autres réglages et donnent d'autres valeurs.
Que deviennent les emoji et les lettres accentuées ?
Ils comptent avec leurs vrais octets, car le texte est d'abord encodé en UTF-8, comme le font la plupart des formats de fichiers et des transferts sur le web.
Pourquoi le CRC change-t-il autant quand on modifie un seul caractère ?
Parce que le reste de la division polynomiale est très sensible aux bits d'origine : une petite retouche ou un seul bit inversé donne une autre valeur à huit chiffres. C'est ce qui rend CRC-32 si efficace contre la corruption accidentelle.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"text": "123456789"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.crc32",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cet outil de somme de contrôle CRC-32 accepte du texte brut, le sérialise en UTF-8 et applique le profil IEEE standard utilisé par PKZIP, PNG et ISO-HDLC—le même chemin qui produit la célèbre valeur de contrôle cbf43926 pour la chaîne ASCII un-deux-trois-quatre-cinq-six-sept-huit-neuf.
Ce que signifie CRC-32 et quel polynôme cet outil utilise
Cette capacité implémente le polynôme IEEE réfléchi souvent écrit en logiciel comme zéro-x-E-D-B-huit-huit-trois-deux-zéro, avec valeur initiale tous des uns et un exclusive-or final de tous des uns. Le texte d'entrée est d'abord encodé en UTF-8 afin que les caractères multi-octets comme les lettres accentuées ou les emoji contribuent leurs octets réels sur le fil, comme la plupart des formats de fichiers et corps HTTP traitent les chaînes.
Contrat d'entrée, champs de réponse et comportement de l'entrée vide
La chaîne vide est autorisée exprès : beaucoup de bibliothèques CRC documentent le résidu de longueur nulle comme zéro, et les pipelines qui résument des champs optionnels ont besoin d'une réponse stable plutôt qu'un échec dur. Algorithm est toujours l'étiquette CRC-32 barre ISO-HDLC et polynomial est toujours la chaîne zéro-x-E-D-B-huit-huit-trois-deux-zéro pour que les exemples OpenAPI et réponses de support citent le profil sans ambiguïté. Il n'y a pas de commutateur de mode pour d'autres largeurs ou polynômes CRC : si vous avez besoin de CRC-16, Adler-32 ou d'un condensé cryptographique, utilisez une capacité dédiée afin que chaque page d'atterrissage corresponde à une seule intention de recherche. Envoyez un corps JSON avec le champ obligatoire text égal à la chaîne dont vous voulez la somme de contrôle. Les alias input, value, s, string et content sont acceptés pour que les anciens formulaires et clients courts se lient encore. Les nombres finis et les grands entiers sont convertis en chaîne ; objets, tableaux, booléens, null, Infinity et NaN provoquent invalid_input et ne sont pas facturés. Lorsque la longueur source est nulle, la réponse met empty à true, crc32 à huit chiffres zéro, crc32_int à zéro et bytes à zéro. Pour une entrée non vide empty est false, bytes égale la longueur UTF-8 (qui peut dépasser la longueur en caractères JavaScript pour les glyphes multi-octets), crc32 est le résidu hex de huit chiffres en minuscules sans préfixe zéro-x, et crc32_int est la même valeur comme entier non signé de trente-deux bits, utile dans les langages qui préfèrent les nombres aux chaînes.
Où une API de somme de contrôle CRC-32 trouve son utilité
Les développeurs collent de courts fragments de configuration, des échantillons de protocole et des racines de noms de fichier dans un calculateur de somme de contrôle CRC-32 lorsqu'ils ont besoin d'une balise d'intégrité compacte compatible avec les outils ZIP et PNG sans installer d'utilitaire local. Les ingénieurs support recalculent les résidus à partir du texte du ticket pour confirmer qu'un dump collé n'a pas été tronqué en transit. Les laboratoires d'enseignement utilisent le même point de terminaison pour montrer qu'un caractère modifié inverse de nombreux chiffres hex, illustrant la détection d'erreurs sans introduire de machinerie cryptographique. Comme l'implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant ; l'échec de validation ne consomme pas le solde. Gardez les charges sous le plafond de caractères documenté, traitez le champ hex comme cible de collage canonique, et vous obtenez des valeurs CRC-32 reproductibles et compatibles ZIP pour la documentation, les SDK, les workers en bordure et les démos en classe sans déployer un service de hachage séparé.
Cas d'intégration
Balises d'intégrité compatibles ZIP et PNG
Calculez le CRC-32 IEEE d'un texte court pour que les résidus correspondent aux outils PKZIP, PNG et ISO-HDLC lors du collage dans tickets, notes de micrologiciel ou contrôles de configuration.
Vecteurs golden de CI et fixtures d'entrée vide
Épinglez 123456789 → cbf43926 et vide → 00000000 pour que l'intégration continue détecte aussitôt une dérive du polynôme ou de l'encodage UTF-8.
Questions techniques
Comment calculer la somme de contrôle CRC-32 d'un texte ?
Envoyez un JSON avec text égal à votre chaîne. Le champ crc32 renvoie huit chiffres hex en minuscules du résidu IEEE / ZIP / PNG sur les octets UTF-8 ; crc32_int est la même valeur en entier non signé.
Quel polynôme CRC-32 cet outil utilise-t-il ?
Le polynôme IEEE réfléchi standard 0xEDB88320 avec init et xor-out 0xFFFFFFFF—le profil de ZIP, PNG et ISO-HDLC (valeur de contrôle cbf43926 pour 123456789).
Que se passe-t-il avec une entrée vide ?
Le texte vide est valide. La réponse met empty à true, crc32 à 00000000, crc32_int à 0 et bytes à 0. Un texte manquant ou non chaîne provoque invalid_input.
Combien coûte l'outil de somme de contrôle CRC-32 ?
Le widget navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; l'entrée invalide n'est pas facturée.