Calculateur Adler-32
Obtenez le checksum Adler-32 de n'importe quel texte, la double somme utilisée dans zlib : Wikipedia donne 11e60398, avec A à 920 et B à 4582. Pratique pour contrôler des données compressées ou un exercice face à la RFC 1950. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Wikipedia
- Résultat
- 11e60398
- Somme de contrôle Adler32
- 11e60398
- Hex
- 11e60398
- Décimal
- 300 286 872
Adler-32 est un checksum de trente-deux bits conçu par Mark Adler et utilisé dans zlib ainsi que dans la famille de formats DEFLATE. Contrairement à un contrôle de redondance cyclique, il maintient deux sommes courantes sur les octets du message et les combine en un entier non signé rapide à calculer sur des processeurs ordinaires. Les ingénieurs qui vérifient des charges compressées, les étudiants de la RFC 1950 et les équipes support qui comparent des trailers issus de journaux d’appareils ont souvent besoin du même résultat de manuel pour une chaîne courte : A initial égal à un, B initial égal à zéro, tous deux réduits modulo soixante-cinq mille cinq cent vingt et un, puis B décalé de seize bits vers la gauche et combiné avec A. Cet outil de checksum Adler-32 accepte un texte non vide, l’encode en UTF-8, exécute cette boucle déterministe et renvoie la valeur complète de trente-deux bits sous forme de huit chiffres hexadécimaux minuscules, avec l’entier décimal, les partiels A et B et un court résumé.
Ce qu’Adler-32 calcule et pourquoi le mot hex compte
Adler-32 traite chaque message comme une séquence d’octets et met à jour deux accumulateurs. Le premier, appelé A, commence à un et ajoute chaque octet, en réduisant modulo soixante-cinq mille cinq cent vingt et un après chaque pas. Le second, appelé B, commence à zéro et ajoute la valeur courante de A après chaque octet, de nouveau modulo le même nombre premier.
Lorsque le flux se termine, le checksum est formé en plaçant B dans les seize bits de poids fort et A dans les seize bits de poids faible d’un entier non signé de trente-deux bits. Cette construction est exactement la définition de la RFC 1950 et l’implémentation de zlib, si bien que la chaîne de contrôle bien connue Wikipedia produit l’hexadécimal onze e six zéro trois neuf huit.
La réponse reprend aussi l’entier décimal, les valeurs A et B séparées, l’étiquette d’algorithme Adler-32, 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 Adler-32 n’est ni résistant aux collisions ni à clé, traitez-le comme un contrôle rapide d’intégrité ou de trame, 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 checksum roulant de style zlib.
Où un checksum Adler-32 rend service
Les auteurs de compression et les étudiants de zlib utilisent un calculateur de checksum Adler-32 pour vérifier les partiels A et B calculés à la main face à la définition de la RFC 1950 sans écrire une boucle de somme modulaire 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 un pour le message vide, afin que les correcteurs automatiques distinguent les réponses manquantes d’un vrai checksum.
Les sites de contenu qui se positionnent sur Adler-32 checksum ou calculateur Adler32 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-le à des landings CRC-32 ou de hachage cryptographique seulement lorsque l’intention de recherche dépasse un contrôle à deux sommes de style zlib — gardez cette page centrée sur Adler-32 pour que l’intention SEO reste nette et ne cannibalise pas les landings CRC-8 ou SHA-256.
Cas d’usage
Contrôles de trailer zlib et DEFLATE
Vérifiez qu’une chaîne de charge produit le trailer Adler-32 attendu selon la RFC 1950 avant de comparer des journaux de flux compressés ou des vecteurs de tests unitaires.
Démos de somme modulaire en cours
Les enseignants montrent la valeur de contrôle classique Wikipedia et laissent les étudiants recalculer d’autres chaînes courtes sans installer une bibliothèque de compression.
Questions fréquentes
Quels paramètres Adler-32 cet outil utilise-t-il ?
Le profil zlib standard : module 65521, A commence à 1, B commence à 0, le checksum vaut (B décalé de 16 vers la gauche) ou A. Le contrôle documenté pour Wikipedia en ASCII est 11e60398.
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 réussi de 00000001.
Adler-32 est-il un hachage cryptographique ?
Non. Adler-32 est un contrôle d’intégrité rapide de trente-deux bits utilisé par zlib. Utilisez SHA-256 ou équivalent lorsque vous avez besoin de résistance aux collisions ou d’authentification.
Pourquoi le checksum change-t-il avec les accents ou les emojis ?
Parce que le texte est converti en octets UTF-8 avant les sommes, et des caractères comme é ou un emoji occupent plus d'un octet. Chacun de ces octets compte, exactement comme un compresseur verrait le même texte en UTF-8.
Que représentent les valeurs A et B ?
Ce sont les deux sommes courantes de l'algorithme. A part de un et ajoute chaque octet ; B part de zéro et ajoute la valeur de A après chaque octet. Le résultat place B dans la moitié haute et A dans la moitié basse.
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/adler32 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Wikipedia"}'const res = await fetch("https://api.kit.forhosting.com/enc/adler32", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Wikipedia"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adler32",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Wikipedia"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adler32", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Wikipedia"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Wikipedia"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adler32", 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": "Wikipedia"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adler32",
"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
Une entrée vide est rejetée avec invalid_input afin que les appelants ne confondent jamais un champ manquant avec le checksum connu du message vide, qui vaut un.
Contrat d’entrée, erreurs de chaîne vide et forme JSON de la réponse
La chaîne est encodée en UTF-8 avant la boucle Adler, de sorte que les caractères multi-octets contribuent chaque unité de code exactement comme le ferait un compresseur recevant le même flux UTF-8. L’entrée vide est rejetée volontairement plutôt que de renvoyer la valeur théorique du message vide zéro zéro zéro zéro zéro zéro zéro un, afin que l’UX produit et les correcteurs automatiques distinguent les réponses manquantes d’un vrai checksum. Figez à la fois un chemin de succès et l’erreur d’entrée vide dans l’intégration continue pour qu’un changement accidentel de module ou d’initialisation ne parte pas en production. Les champs nuls optionnels sont omis plutôt qu’émis comme null, conformément au contrat du rendu déclaratif pour des formulaires web propres. Envoyez un corps JSON avec un unique champ chaîne obligatoire nommé text : toute séquence non vide de caractères que vous souhaitez vérifier. 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. Un text manquant, une valeur non chaîne ou une 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, adler32 et hex tous égaux au même checksum hexadécimal de huit chiffres minuscules ; decimal égal à l’entier non signé de trente-deux bits ; a et b égaux aux partiels finaux bas et haut de seize bits ; algorithm fixé à Adler-32 ; 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ù une API de checksum Adler-32 est utile et comment tarifer
Utilisez l’outil gratuit dans le navigateur pour des contrôles ponctuels ; appelez l’API KIT prépayée 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 texte ordinaire adaptées à un appel d’item dans un Worker isolate ; cet outil vise les chaînes courtes et extraits de protocole, pas les binaires multi-mégaoctets.
Cas d'intégration
Fixtures CI pour aides d’intégrité
Les pipelines figent des sorties hex Adler-32 déterministes et l’erreur d’entrée vide afin qu’un changement accidentel de module ou d’initialisation échoue immédiatement.
Questions techniques
Comment calculer un checksum Adler-32 d’un texte ?
Envoyez un JSON avec un champ chaîne non vide text. L’API encode la chaîne en UTF-8, exécute Adler-32 selon zlib et la RFC 1950, et renvoie la valeur de trente-deux bits sous huit chiffres hex minuscules dans result, adler32 et hex.
Le calculateur de checksum Adler-32 est-il gratuit ?
L’outil navigateur s’exécute gratuitement sur votre appareil. Les appels API utilisent le solde KIT prépayé à $0.002 par élément réussi ; les échecs de validation ne sont pas facturés.