Contrôle de redondance longitudinal (LRC)
Les neuf octets de 123456789 donnent l'octet de contrôle 31 en hexadécimal, soit 49 en décimal : chaque octet est combiné par ou exclusif (XOR), la parité par blocs la plus simple enseignée pour les trames série et Modbus ASCII. 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
- Résultat
- 31
- Lrc
- 31
- Hex
- 31
- Décimal
- 49
Un contrôle de redondance longitudinal, souvent abrégé LRC, est une bande-annonce d'intégrité d'un octet formée par le OU exclusif de chaque octet d'un message. Les tutoriels de trame série, les introductions aux protocoles industriels et les laboratoires de classe sur Modbus ASCII présentent le LRC comme la parité de bloc la plus simple que l'on puisse calculer à la main : partez de zéro, appliquez le XOR de l'octet suivant à l'accumulateur et, après le dernier octet, vous détenez une valeur de contrôle qui bascule si un bit d'un octet bascule un nombre impair de fois dans ce plan de bits. Ingénieurs, étudiants et équipes de support ont besoin de ce même octet hex déterministe pour de courtes charges utiles sans installer une pile de protocoles ni débattre des polynômes CRC. Cet outil de contrôle de redondance longitudinal accepte un texte non vide, l'encode en UTF-8, exécute la boucle XOR pure et renvoie l'octet de contrôle sous forme de deux chiffres hexadécimaux en minuscules, avec la valeur décimale et un court résumé.
Ce que calcule le LRC et pourquoi l'octet de contrôle XOR compte
Le contrôle de redondance longitudinal traite un message comme une suite de colonnes de huit bits et calcule une parité paire sur chaque colonne en appliquant le OU exclusif d'octets successifs dans un registre de huit bits. Après le dernier octet, ce registre est le LRC : un unique octet de contrôle généralement écrit sous forme de deux chiffres hexadécimaux. Contrairement à un contrôle de redondance cyclique, il n'y a ni polynôme générateur, ni table de décalage, ni options de réflexion à mal configurer—seulement un XOR séquentiel.
Cette simplicité explique pourquoi le LRC apparaît dans les leçons de trame série par blocs et dans de nombreuses descriptions de champs de contrôle Modbus ASCII : vous pouvez vérifier un calcul manuel au tableau en quelques secondes. Cette page utilise toujours la définition XOR pure sur les octets UTF-8 du texte soumis, de sorte que les caractères multi-octets contribuent chaque octet d'unité de code exactement comme le ferait un appareil embarqué s'il recevait le même flux UTF-8.
La réponse répète aussi l'entier décimal, l'étiquette d'algorithme LRC-XOR, 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 LRC n'est ni résistant aux collisions ni à clé, traitez-le comme un contrôle de trame ou de corruption accidentelle, non comme une preuve d'authenticité ; préférez des digests des familles CRC ou SHA lorsque l'intention de recherche dépasse une bande-annonce XOR d'un octet.
Où un calculateur LRC apporte de la valeur et comment fonctionne le tarif
Les auteurs de micrologiciels et les étudiants en protocoles industriels utilisent un calculateur de contrôle de redondance longitudinal pour vérifier des bandes-annonces XOR calculées à la main sans écrire une boucle 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 correcteurs automatiques distinguent les réponses manquantes d'un vrai contrôle à zéro.
Les sites de contenu qui se positionnent sur contrôle de redondance longitudinal ou calculateur LRC 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 de solde après rejet. Associez les landings CRC-8, CRC-16 ou de hachage cryptographique seulement lorsque l'intention de recherche dépasse un contrôle de trame XOR de huit bits—gardez cette page centrée sur le LRC comme XOR de tous les octets pour une intention SEO nette.
Cas d’usage
Trame série et laboratoires de protocole
Vérifiez qu'une chaîne de charge produit la bande-annonce LRC d'un octet attendue sous XOR séquentiel avant de comparer des journaux d'appareil ou des vecteurs de test unitaire.
Démonstrations LRC en classe
Les enseignants montrent le contrôle classique de la chaîne de chiffres et laissent les élèves recalculer d'autres chaînes courtes sans installer de bibliothèque de protocole.
Questions fréquentes
Quel algorithme cet outil LRC utilise-t-il ?
XOR séquentiel pur de tous les octets UTF-8 (LRC-XOR). Partez de zéro, appliquez le OU exclusif de chaque octet et conservez les huit bits bas. Le résultat est un octet de contrôle en hex minuscules.
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 contrôle zéro réussi.
Le LRC est-il identique au CRC-8 ?
Non. Ici le LRC est un simple XOR de tous les octets. Le CRC-8 divise par un polynôme avec des étapes de décalage et de XOR. Utilisez la landing CRC-8 pour le poly 0x07 ; cette page pour le LRC XOR.
Comment calculer un LRC à la main ?
Partez de zéro et combinez par XOR chaque octet du message avec la valeur courante, l'un après l'autre. Après le dernier octet, cette valeur est le LRC, écrit en général avec deux chiffres hexadécimaux ; pour 123456789, il vaut 31.
Un LRC prouve-t-il qu'un message n'a pas été falsifié ?
Non. Le LRC ne résiste pas aux collisions et n'utilise aucune clé : il signale une corruption accidentelle ou un problème de trame, pas l'authenticité. Pour une vérification plus solide, on passe à une somme de la famille CRC ou à une empreinte de la famille SHA.
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/lrc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/lrc", {
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/lrc",
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/lrc", 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/lrc", 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.lrc",
"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 que les appelants ne confondent jamais un champ manquant avec un contrôle zéro réel.
Contrat d'entrée, erreurs de chaîne vide et forme de la réponse JSON
É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 d'algorithme ne passe pas inaperçu. Les champs optionnels nuls sont omis plutôt qu'émis comme null, conformément au contrat du moteur de 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 protéger avec un LRC. Les alias input, value, s, data, message et payload sont acceptés pour le même champ afin que les stubs de SDK et les envois de formulaire restent souples. La chaîne est encodée en UTF-8 avant la boucle XOR. text manquant, valeur non chaîne ou chaîne vide échouent 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, lrc et hex tous fixés au même octet de contrôle hexadécimal de deux chiffres en minuscules ; decimal à l'entier de zéro à deux cent cinquante-cinq ; algorithm fixe à LRC-XOR ; 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.
Où un calculateur LRC apporte de la valeur et comment fonctionne le tarif
Utilisez 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 élément réussi. Gardez des charges de taille de texte ordinaire adaptées à un appel d'élément dans un Worker isolate ; cet outil est destiné aux chaînes courtes et aux extraits de protocole, non aux blobs binaires de plusieurs mégaoctets.
Cas d'intégration
Fixtures CI pour le code de trame
Les pipelines figent des sorties hex LRC déterministes et l'erreur d'entrée vide pour qu'un changement accidentel d'algorithme échoue vite.
Questions techniques
Comment calculer un contrôle de redondance longitudinal d'un texte ?
Envoyez un JSON avec un champ chaîne non vide text. L'API encode la chaîne en UTF-8, applique le XOR de chaque octet dans un registre de huit bits et renvoie l'octet de contrôle sous forme de deux chiffres hex en minuscules dans result, lrc et hex.
Le calculateur de contrôle de redondance longitudinal 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 élément réussi ; les échecs de validation ne sont pas facturés.