Calcolatore Adler-32
Ottenga il checksum Adler-32 di qualsiasi testo, la doppia somma usata in zlib: Wikipedia dà 11e60398, con A a 920 e B a 4582. Utile per controllare dati compressi o esercizi rispetto alla RFC 1950. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Wikipedia
- Risultato
- 11e60398
- Checksum Adler32
- 11e60398
- Hex
- 11e60398
- Decimale
- 300.286.872
Adler-32 è un checksum a trentadue bit progettato da Mark Adler e usato in zlib e nella famiglia di formati DEFLATE. A differenza di un controllo di ridondanza ciclica, mantiene due somme correnti sui byte del messaggio e le combina in un intero senza segno rapido da calcolare su CPU ordinarie.
Cosa calcola Adler-32 e perché conta la parola hex
Adler-32 tratta ogni messaggio come una sequenza di byte e aggiorna due accumulatori. Il primo, chiamato A, parte da uno e somma ogni byte, riducendo modulo sessantacinquemilacinquecentoventuno dopo ogni passo. Il secondo, chiamato B, parte da zero e somma il valore corrente di A dopo ogni byte, di nuovo modulo lo stesso primo.
Quando il flusso termina, il checksum si forma collocando B nei sedici bit alti e A nei sedici bit bassi di un intero senza segno a trentadue bit. Quella costruzione è esattamente la definizione della RFC 1950 e l’implementazione di zlib, quindi la stringa di controllo nota Wikipedia produce l’esadecimale undici e sei zero tre nove otto.
La risposta ripete anche l’intero decimale, i valori A e B separati, l’etichetta di algoritmo Adler-32, il conteggio byte UTF-8 e il testo originale affinché i client mostrino una riga di audit completa senza ricalcolare metadati. Poiché Adler-32 non è resistente alle collisioni né a chiave, la si usi come controllo rapido di integrità o di trama, non come prova di autenticità; preferisca digest della famiglia SHA quando l’intento di ricerca è l’hashing crittografico piuttosto che un checksum rotante in stile zlib.
Dove un checksum Adler-32 è davvero utile
Autori di compressione e studenti di zlib usano un calcolatore di checksum Adler-32 per verificare i parziali A e B calcolati a mano rispetto alla definizione della RFC 1950 senza scrivere un ciclo di somma modulare in ogni linguaggio. Piattaforme didattiche e plugin LMS necessitano di un oracolo deterministico che rifiuti l’input vuoto invece di restituire uno per il messaggio vuoto, così gli autovalutatori distinguono risposte mancanti da un checksum reale.
I siti di contenuti che si posizionano su Adler-32 checksum o calcolatore Adler32 beneficiano di uno strumento live il cui percorso gratuito coincide byte per byte con l’automazione a pagamento sullo stesso modulo puro. I fallimenti di validazione non consumano mai il saldo dopo il rifiuto. La abbini a landing CRC-32 o di hash crittografico solo quando l’intento di ricerca va oltre un controllo a due somme in stile zlib: mantenga questa pagina incentrata su Adler-32 affinché l’intento SEO resti nitido e non cannibalizzi le landing CRC-8 o SHA-256.
Casi d'uso
Demo di somma modulare in aula
I docenti mostrano il classico valore di controllo Wikipedia e lasciano che gli studenti ricalcolino altre stringhe brevi senza installare una libreria di compressione.
Domande frequenti
Quali parametri Adler-32 usa questo strumento?
Il profilo standard di zlib: modulo 65521, A parte da 1, B parte da 0, il checksum è (B spostata di 16 a sinistra) o A. Il controllo documentato per Wikipedia in ASCII è 11e60398.
Cosa succede se il testo è vuoto?
È richiesta una stringa non vuota; l’input vuoto non viene trattato come checksum riuscito di 00000001.
Il calcolatore di checksum Adler-32 è gratuito?
Lo strumento nel browser gira gratis sul Suo dispositivo.
Adler-32 è un hash crittografico?
No. Adler-32 è un controllo di integrità rapido a trentadue bit usato da zlib. Usi SHA-256 o simile quando le serve resistenza alle collisioni o autenticazione.
Perché il checksum cambia con accenti o emoji?
Perché il testo viene convertito in byte UTF-8 prima delle somme, e caratteri come è o un'emoji occupano più di un byte. Ognuno di quei byte conta, esattamente come lo vedrebbe un compressore con lo stesso testo in UTF-8.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "Wikipedia"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adler32",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Ingegneri che verificano payload compressi, studenti della RFC 1950 e team di supporto che confrontano trailer da log di dispositivo spesso necessitano dello stesso risultato da manuale per una stringa breve: A iniziale pari a uno, B iniziale pari a zero, entrambe ridotte modulo sessantacinquemilacinquecentoventuno, poi B spostata di sedici bit a sinistra e combinata con A. Questo strumento di checksum Adler-32 accetta testo non vuoto, lo codifica come UTF-8, esegue quel ciclo deterministico e restituisce il valore completo a trentadue bit come otto cifre esadecimali minuscole insieme all’intero decimale, ai parziali A e B e a un breve riepilogo. L’input vuoto viene rifiutato con invalid_input affinché chi chiama non confonda mai un campo mancante con il checksum noto del messaggio vuoto, che vale uno.
Contratto di input, errori di stringa vuota e forma JSON della risposta
L’input vuoto viene rifiutato di proposito invece di restituire il valore teorico del messaggio vuoto zero zero zero zero zero zero zero uno, così UX di prodotto e autovalutatori distinguono risposte mancanti da un checksum reale. Fissi sia un percorso di successo sia l’errore di input vuoto nell’integrazione continua affinché modifiche accidentali di modulo o di inizializzazione non vadano in produzione. I campi null opzionali vengono omessi anziché emessi come null, in linea con il contratto del renderer dichiarativo per form web puliti. Invii un corpo JSON con un unico campo stringa obbligatorio denominato text: qualsiasi sequenza non vuota di caratteri di cui calcolare il checksum. Gli alias input, value, s, data, message e payload sono accettati per lo stesso campo, così stub SDK e invii da form restano flessibili. La stringa viene codificata come UTF-8 prima del ciclo Adler, quindi i caratteri multi-byte contribuiscono con ogni unità di codice esattamente come farebbe un compressore che riceve lo stesso flusso UTF-8. text mancante, valore non stringa o stringa vuota falliscono con invalid_input e un messaggio chiaro che richiede una stringa non vuota; tali fallimenti non vengono addebitati sull’API prepagata. In caso di successo il corpo include result, adler32 e hex tutti impostati sullo stesso checksum esadecimale a otto cifre minuscole; decimal sull’intero senza segno a trentadue bit; a e b sui parziali finali a sedici bit basso e alto; algorithm fisso su Adler-32; input_bytes pari alla lunghezza UTF-8; text che ripete l’input; e message che riassume il conteggio byte e il risultato hex.
Dove un’API di checksum Adler-32 conviene e come funziona il prezzo
Usi lo strumento gratuito nel browser per controlli occasionali; chiami l’API KIT prepagata da backend, funzioni serverless e SDK quando le serve un contratto stabile a saldo di $0.002 per elemento riuscito. Mantenga payload di dimensioni di testo ordinarie adatte a una chiamata item in un Worker isolate; questo strumento è per stringhe brevi e frammenti di protocollo, non per blob binari multi-megabyte.
Casi di integrazione
Controlli di trailer zlib e DEFLATE
Verifichi che una stringa di payload produca il trailer Adler-32 atteso secondo la RFC 1950 prima di confrontare log di flussi compressi o vettori di test unitari.
Fixture CI per ausili di integrità
Le pipeline fissano uscite hex Adler-32 deterministiche e l’errore di input vuoto affinché modifiche accidentali di modulo o di inizializzazione falliscano subito.
Domande tecniche
Come si calcola un checksum Adler-32 di un testo?
Invii JSON con un campo stringa non vuoto text. L’API codifica la stringa in UTF-8, esegue Adler-32 secondo zlib e la RFC 1950, e restituisce il valore a trentadue bit come otto cifre hex minuscole in result, adler32 e hex.