Somme CRC-16 Kermit
Les neuf caractères 123456789 donnent la valeur CRC-16 Kermit 2189, le résultat de référence de ce profil : vous savez aussitôt si un appareil ou une bibliothèque applique vraiment Kermit. Collez un texte pour obtenir son reste sur 16 bits. 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
- CRC en hex
- 2189
- CRC (entier)
- 8 585
- Nombre d'octets
- 9
- Algorithme
- CRC-16/KERMIT
CRC-16 Kermit est le contrôle de redondance cyclique sur seize bits défini par le protocole de transfert de fichiers Kermit et catalogué CRC-16/KERMIT. Il utilise le polynôme générateur CCITT réfléchi 0x1021 (implémenté comme 0x8408 en forme réfléchie), initialise le registre à zéro, réfléchit les octets d'entrée et le résidu final, et n'applique aucun exclusive-or final. Les implémenteurs de protocoles, les auteurs embarqués et quiconque vérifie des trames de style Kermit ont besoin d'un résidu déterministe pour construire des paquets, figer des tests unitaires ou comparer des calculateurs hors ligne. Cette capacité prend une chaîne de texte non vide, l'encode en UTF-8, exécute exactement cet algorithme et renvoie le résidu sous quatre chiffres hexadécimaux en majuscules plus la forme entière non signée.
Qu'est-ce que CRC-16 Kermit et quand l'utiliser
Un contrôle de redondance cyclique fait passer chaque octet d'entrée dans un polynôme générateur fixe de sorte qu'un seul bit inversé change presque toujours le résidu.
CRC-16/KERMIT est le profil seize bits que le protocole Kermit et de nombreux outils série ont adopté dans la famille CCITT : le générateur non réfléchi est 0x1021, mais comme l'entrée et la sortie sont réfléchies, le code pratique bit à bit utilise le polynôme réfléchi 0x8408, initialise le registre à 0x0000, combine par XOR chaque octet de données dans les huit bits bas, puis effectue huit étapes de décalage et XOR conditionnel par octet sans masque final d'exclusive-or.
Le vecteur de contrôle classique est les neuf chiffres ASCII de un à neuf, qui doivent produire le résidu 0x2189 ; si votre bibliothèque diverge, ce n'est pas CRC-16/KERMIT même si elle annonce CCITT. Ne confondez pas ce profil avec CRC-16/CCITT-FALSE (init 0xFFFF, sans réflexion), CRC-16/XMODEM ou CRC-16/MODBUS (poly 0xA001, init 0xFFFF) : ils partagent des noms de famille mais produisent des résidus différents pour la même charge.
Utilisez ce point de terminaison lorsqu'une spécification nomme CRC Kermit, CRC-16/KERMIT ou CCITT réfléchi avec init zéro ; lorsque vous figez des résidus dorés en intégration continue pour une pile Kermit ; ou lorsque vous avez besoin d'un calculateur visible dans le navigateur qui correspond octet par octet aux outils serveur. Ne l'utilisez pas comme hachage de mot de passe ni comme MAC à clé : les CRC sont des fonctions linéaires publiques et n'offrent aucun secret face à un attaquant motivé.
Contrat d'entrée, entrée vide et champs de réponse
La chaîne est encodée en UTF-8 et chaque octet résultant entre dans le CRC ; il n'y a pas de mode hex séparé dans cette capacité — collez le texte littéral à contrôler. Les nombres et booléens sont acceptés en les convertissant d'abord en chaîne, ce qui facilite les démonstrations simples de calculateur. Une validation échouée n'est pas facturée.
Gardez des charges modestes dans le navigateur ; l'algorithme est linéaire en longueur d'octets et entièrement en mémoire, sans allers-retours réseau dans le gestionnaire. Figez en régression le vecteur connu un-deux-trois-quatre-cinq-six-sept-huit-neuf égal à deux un huit neuf pour qu'une faute de polynôme ou de réflexion ne soit jamais publiée.
Questions fréquentes
Comment calculer une somme CRC-16 Kermit ?
Envoyez une chaîne de texte non vide dans le champ text.
Quel polynôme et quelle valeur initiale utilise-t-elle ?
CRC-16/KERMIT : polynôme réfléchi 0x8408 (forme normale 0x1021), registre initial 0x0000, réflexion d'entrée et de sortie, sans XOR final. Le vecteur de contrôle 123456789 produit 2189.
Que se passe-t-il si j'envoie une entrée vide ?
Fournissez au moins un caractère de texte à contrôler.
CRC-16 Kermit est-il identique à CRC-16 Modbus ou CCITT-FALSE ?
Non. Modbus utilise poly 0xA001 et init 0xFFFF. CCITT-FALSE utilise init 0xFFFF sans le même profil de réflexion. Kermit produit 2189 pour 123456789 ; les autres profils donnent des valeurs différentes.
Puis-je saisir les octets en hexadécimal ?
Non. Cet outil n'a pas de mode hexadécimal : il calcule sur les octets UTF-8 du texte exact que vous collez. Les nombres sont d'abord convertis en texte, donc 123456789 est traité comme ces neuf caractères.
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/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)Exemple de requête
{
"text": "123456789"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.crc16_kermit",
"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
L'entrée vide est rejetée avec invalid_input afin de ne jamais confondre une charge de longueur nulle avec une somme réussie.
Contrat d'entrée, entrée vide et champs de réponse
Envoyez par POST un corps JSON avec le champ chaîne obligatoire text. Un texte vide, y compris une chaîne de longueur nulle après omission de contenu utile, est rejeté avec invalid_input et un message qui signale une entrée vide afin que les interfaces de formulaire et les clients API mettent le champ en évidence sans deviner. L'absence de text, null ou une valeur ni chaîne ni scalaire échouent aussi avec invalid_input. En cas de succès, le corps inclut crc_hex comme quatre chiffres hexadécimaux en majuscules du résidu complet de seize bits, crc_int comme l'entier non signé de zéro à soixante-cinq mille cinq cent trente-cinq, byte_count de la charge UTF-8, et des chaînes fixes algorithm, poly et init documentant CRC-16/KERMIT avec polynôme réfléchi 0x8408 et init 0x0000. Les alias data, payload, value et input sont acceptés pour le champ de charge afin que les clients SDK et les envois de formulaires anciens continuent de fonctionner.
Où une API CRC-16 Kermit apporte une vraie valeur
Les services backend tamponnent de courtes trames texte ou des blobs de configuration avec le résidu et le recalculent à la réception pour détecter une corruption accidentelle sans déployer un hachage cryptographique complet. Les sites de contenu qui se positionnent sur somme CRC-16 Kermit ou calculateur CCITT réfléchi gagnent un outil en direct dont le chemin gratuit du navigateur correspond exactement au chemin d'automatisation prépayé, ce qui inspire confiance lorsque les lecteurs comparent avec des utilitaires et fiches techniques hors ligne. Gardez des requêtes déterministes, rejetez les charges vides en périphérie, et vous obtenez une reproductibilité de niveau Kermit sans embarquer des tables CRC dans chaque microservice. Les auteurs de protocoles intègrent l'appel en portant une pile Kermit ou CCITT réfléchie et confirment que le code du dispositif, une table en C et ce point de terminaison émettent le même crc_hex avant de livrer du silicium ou des crates. Les suites d'intégration continue figent des paires dorées telles que ASCII un-deux-trois-quatre-cinq-six-sept-huit-neuf mappé vers crc_hex deux un huit neuf, et des chaînes secondaires comme hello vers le résidu documenté par cet outil, afin qu'une faute de polynôme ou d'indicateur de réflexion n'atteigne jamais la production. Comme l'implémentation est parse pure 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 sur le chemin de calcul. Associez crc_hex au journal lorsque vous avez besoin d'un jeton imprimable unique, ou utilisez crc_int lorsque vous stockez le résidu comme entier non signé de seize bits dans le micrologiciel.
Cas d'intégration
Contrôle de trames Kermit et série
Calculez CRC-16/KERMIT sur le texte de charge et comparez crc_hex au remorque sur le fil pour valider des trames Kermit ou CCITT réfléchi sans table CRC locale.
Contrôles dorés de bibliothèque et micrologiciel
Vérifiez que le code du dispositif et les outils serveur produisent tous deux crc_hex 2189 pour ASCII 123456789 et correspondent à vos modèles de régression fixes pour CCITT réfléchi.
Calculateur SEO et documentation d'assistance
Proposez une page en direct de somme CRC-16 Kermit pour les ingénieurs qui recherchent le résidu CCITT réfléchi, avec exécution gratuite dans le navigateur alignée sur l'API prépayée.
Questions techniques
Combien coûte l'outil de somme CRC-16 Kermit ?
L'outil dans le 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.