ForHosting KIT · Outils pour développeurs

Checksum CRC-16 XMODEM

Les neuf caractères 123456789 donnent la valeur CRC-16/XMODEM 31c3, soit 12739 en décimal, le résultat de contrôle documenté du profil CCITT à départ nul utilisé en transfert de fichiers classique et en firmware. Collez un texte pour obtenir sa somme. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
123456789
Vous obtenez
Résultat
31c3
Crc16
31c3
Hex
31c3
Décimal
12 739

CRC-16/XMODEM est un contrôle de redondance cyclique sur seize bits utilisé dans le cadrage classique de transfert de fichiers, le micrologiciel embarqué et les piles de protocoles qui ont besoin d'un mot d'intégrité compact plutôt que d'un hachage cryptographique complet. Ingénieurs, étudiants et équipes de support ont souvent besoin du même résultat de manuel pour une chaîne courte : le polynôme générateur CCITT 0x1021, registre initial à zéro (la graine XMODEM), sans réflexion de bits et XOR final à zéro—exactement le profil CRC-16/XMODEM dont la valeur de contrôle pour les chiffres ASCII de un à neuf est 31C3 en hexadécimal. Cet outil de checksum CRC-16 XMODEM accepte un texte non vide, l'encode en UTF-8, exécute cette boucle déterministe de décalage et de XOR et renvoie le checksum de seize bits sous la forme de quatre chiffres hexadécimaux en minuscules, avec la valeur décimale et un court résumé.

Ce que calcule le CRC-16/XMODEM avec le polynôme 0x1021 et pourquoi le mot hex compte

Un contrôle de redondance cyclique traite le message comme un polynôme sur le corps de Galois à deux éléments et le divise par un polynôme générateur fixe, laissant un reste qui devient le checksum. Pour le CRC-16 le reste fait seize bits de large, de sorte que le résultat entier tient dans un mot et s'écrit naturellement sous quatre chiffres hexadécimaux.

Le générateur utilisé par XMODEM et de nombreux exemples de style CCITT est 0x1021, qui se développe en x à la seizième plus x à la douzième plus x à la cinquième plus un. De façon critique, le profil XMODEM initialise le registre à zéro plutôt qu'à tous les uns ; ce seul choix sépare CRC-16/XMODEM de CRC-16/CCITT-FALSE, qui utilise le même poly mais init 0xFFFF et donc des valeurs de contrôle différentes pour la même charge utile.

En logiciel la division s'effectue en exclusif-OU de chaque octet d'entrée dans les huit bits de poids fort d'un registre de seize bits puis en décalant à gauche huit fois, avec exclusif-OU du générateur lorsque le bit de poids fort est positionné. Cette page utilise toujours cet algorithme non réfléchi avec valeur initiale zéro et XOR final zéro, le profil dont la valeur de contrôle documentée pour la chaîne ASCII de neuf octets un deux trois quatre cinq six sept huit neuf est 31C3.

La réponse reprend aussi l'entier décimal, la chaîne de polynôme 0x1021, l'étiquette d'algorithme CRC-16/XMODEM, le nombre d'octets UTF-8 et le texte d'origine afin que les clients affichent une ligne d'audit complète sans recalculer les métadonnées. Comme le CRC-16 n'est ni résistant aux collisions ni muni d'une clé, traitez-le comme un contrôle de cadrage ou de corruption accidentelle, non comme une preuve d'authenticité ; préférez les digests de la famille SHA lorsque l'intention de recherche est le hachage cryptographique plutôt qu'un CRC de deux octets.

Où une somme CRC-16 XMODEM est utile

Les auteurs de micrologiciel et les étudiants en protocoles série utilisent un calculateur de checksum CRC-16 XMODEM pour vérifier des restes calculés à la main contre le polynôme CCITT à graine zéro sans écrire une boucle de décalage dans chaque langage. Les plateformes d'enseignement et les plugins LMS ont besoin d'un oracle déterministe qui rejette l'entrée vide au lieu de renvoyer zéro pour le message vide, afin que les auto-correcteurs distinguent les réponses manquantes d'un vrai checksum nul.

Les sites de contenu qui se positionnent sur CRC-16 XMODEM, calculateur CRC16 XMODEM ou checksum poly CCITT 0x1021 bénéficient d'un outil en direct dont le chemin gratuit correspond octet pour octet au chemin d'automatisation payant sur le même module pur. Les échecs de validation ne consomment jamais le solde après rejet.

Associez aux landings CRC-8, CRC-32 ou hachage cryptographique uniquement lorsque l'intention de recherche dépasse un contrôle de cadrage XMODEM sur seize bits—gardez cette page centrée sur CRC-16/XMODEM à poly 0x1021 et graine zéro pour que l'intention SEO reste nette et n'entre pas en collision avec les variantes MODBUS, IBM ou CCITT-FALSE qui partagent un nom de famille mais pas le même vecteur de contrôle.

Contrôles XMODEM et protocoles série

Vérifiez qu'une chaîne de charge produit la remorque CRC-16/XMODEM de seize bits attendue sous le poly 0x1021 et init zéro avant de comparer des journaux d'appareil ou des vecteurs de tests unitaires.

Démonstrations de reste CRC en classe

Les enseignants montrent la valeur classique 123456789 → 31C3 et laissent les étudiants recalculer d'autres chaînes courtes sans installer une bibliothèque CRC.

Quels paramètres CRC-16 cet outil utilise-t-il ?

CRC-16/XMODEM : poly 0x1021 (CCITT), init 0x0000, sans réflexion, xorout 0x0000. La valeur de contrôle documentée pour ASCII 123456789 est 31C3.

Que se passe-t-il si le texte est vide ?

Une chaîne non vide est requise ; l'entrée vide n'est pas traitée comme un checksum nul réussi.

CRC-16/XMODEM est-il identique à CRC-16/CCITT-FALSE ?

Non. Les deux utilisent le poly 0x1021, mais XMODEM initialise le registre à zéro tandis que CCITT-FALSE utilise 0xFFFF, donc les valeurs de contrôle diffèrent. Cet outil n'implémente que XMODEM.

Comment les lettres accentuées et autres caractères non ASCII sont-ils comptés ?

Le texte est encodé en UTF-8 avant le calcul : un caractère qui occupe plusieurs octets apporte chacun d'eux, exactement comme le verrait un appareil embarqué recevant le même flux UTF-8.

Une somme CRC-16 XMODEM prouve-t-elle qu'un fichier est authentique ?

Non. Ce contrôle sur deux octets n'est ni résistant aux collisions ni protégé par une clé ; il détecte surtout les erreurs accidentelles. Si vous cherchez une vraie empreinte cryptographique, tournez-vous vers la famille SHA.

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.

POSThttps://api.kit.forhosting.com/enc/crc16-xmodem

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é.

curl -X POST https://api.kit.forhosting.com/enc/crc16-xmodem \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"123456789"}'
{
  "text": "123456789"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.crc16_xmodem",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L'entrée vide est rejetée avec invalid_input afin que les appelants ne confondent jamais un champ manquant avec un vrai checksum nul.

Contrat d'entrée, erreurs de chaîne vide et forme de la réponse JSON

La chaîne est encodée en UTF-8 avant la boucle CRC, de sorte que les caractères multi-octets contribuent chaque octet d'unité de code exactement comme le ferait un appareil embarqué recevant le même flux UTF-8. Épinglez à la fois un chemin de succès et une erreur d'entrée vide dans l'intégration continue pour qu'un changement accidentel de poly ou d'init ne puisse pas passer inaperçu. Les champs optionnels nuls sont omis plutôt qu'émis comme null, conformément au contrat du rendu déclaratif pour des formulaires web propres. Envoyez en POST un corps JSON avec un unique champ chaîne obligatoire nommé text : toute séquence non vide de caractères que vous souhaitez contrôler. Les alias input, value, s, data, message et payload sont acceptés pour le même champ afin que les stubs SDK et les envois de formulaire restent souples. Si text est absent, si la valeur n'est pas une chaîne ou si la chaîne est vide, la requête échoue avec invalid_input et un message clair indiquant qu'une chaîne non vide est requise ; ces échecs ne sont pas facturés sur l'API prépayée. En cas de succès le corps inclut result, crc16 et hex tous fixés au même checksum hexadécimal de quatre chiffres en minuscules ; decimal égal à l'entier de zéro à soixante-cinq mille cinq cent trente-cinq ; polynomial fixé à 0x1021 ; algorithm fixé à CRC-16/XMODEM ; input_bytes égal à la longueur UTF-8 ; text reprenant l'entrée ; et message résumant le nombre d'octets et le résultat hex. Gardez les charges à des tailles de texte ordinaires adaptées à un appel d'item dans un Worker isolate ; cet outil est destiné aux chaînes courtes et aux extraits de protocole, pas aux binaires de plusieurs mégaoctets.

Où une API de checksum CRC-16 XMODEM apporte de la valeur et comment fonctionne le prix

Appelez l'outil gratuit dans le navigateur pour des contrôles ponctuels ; appelez l'API prépayée KIT depuis des backends, des fonctions serverless et des SDK lorsque vous avez besoin d'un contrat stable sous solde à $0.002 par item réussi.

Fixtures CI pour le code de cadrage

Les pipelines épinglent des sorties hex déterministes CRC-16/XMODEM et l'erreur d'entrée vide pour que les changements accidentels de poly ou d'init échouent rapidement.

Comment calculer un checksum CRC-16 XMODEM de texte ?

Envoyez un JSON avec un champ chaîne non vide text. L'API encode la chaîne en UTF-8, exécute CRC-16/XMODEM avec polynôme 0x1021 et init 0x0000, et renvoie le mot sous quatre chiffres hex en minuscules dans result, crc16 et hex.

Le calculateur de checksum CRC-16 XMODEM est-il gratuit ?

L'outil navigateur s'exécute gratuitement sur votre appareil. Les appels API utilisent le solde prépayé KIT à $0.002 par item réussi ; les échecs de validation ne sont pas facturés.

Consulter la documentation complète du KIT →