ForHosting KIT · Strumenti per sviluppatori

Codificatore Base58Check

Dati di indirizzo Bitcoin di 21 byte diventano 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM, 33 caratteri con un checksum doppio SHA-256 di quattro byte, così un carattere copiato male non supera la verifica invece di dare byte sbagliati. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Modalità di calcolo
Encode
Formato di uscita
Hex
Ottiene
Risultato
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
Base58Check
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
Checksum (hex)
d61967f6
Nome dell'alfabeto
bitcoin

A differenza del Base58 semplice, un solo carattere alterato fa quasi sempre fallire la verifica del checksum invece di decodificare in silenzio byte errati — critico per indirizzi di wallet, chiavi private WIF e qualsiasi stringa che le persone copiano a mano.

Perché il Base58 semplice ha bisogno di un checksum

Il Base58 trasforma i byte in 58 caratteri difficili da confondere, senza zero, O maiuscola, I maiuscola e l minuscola. La stringa diventa facile da leggere, ma non è protetta: un carattere digitato male è semplicemente un'altra stringa valida, che si decodifica in byte diversi. Base58Check chiude questa falla. Prima di codificare applica SHA-256 ai suoi dati, applica di nuovo SHA-256 al risultato e aggiunge i primi quattro byte di questo secondo hash. L'intera sequenza viene poi scritta con l'alfabeto Base58 di Bitcoin. Quei quattro byte in più lasciano circa una probabilità su quattro miliardi che un errore su un solo carattere passi inosservato: per questo gli indirizzi Bitcoin P2PKH, le chiavi private WIF e molte chiavi estese usano questo formato.

Come codificare, decodificare ed evitare gli errori comuni

Per codificare, inserisca i dati in esadecimale, l'impostazione predefinita, oppure passi al testo semplice. L'esempio di 21 byte 00010966776006953D5567439E5E39F86A0D273BEE diventa 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM, 33 caratteri che contengono già il checksum d61967f6. Per decodificare, incolli una stringa Base58Check: il checksum viene ricalcolato e confrontato con quello salvato, e ogni differenza interrompe tutto con un messaggio chiaro. Gli errori tipici sono un esadecimale con un numero dispari di cifre, una stringa copiata con un carattere in più o in meno e l'idea che lo strumento indichi a quale rete o tipo di indirizzo appartiene la stringa. Verifica solo l'integrità e non interpreta i byte di versione.

Cosa aggiunge Base58Check rispetto a Base58

Quella codifica è comoda per l’uomo ma non protegge l’integrità: un glifo digitato male diventa un’altra stringa valida che decodifica in byte diversi. Base58Check colma quel divario. Quattro byte di checksum danno in pratica circa una probabilità su quattro miliardi che un errore di un solo carattere passi inosservato, ecco perché gli indirizzi P2PKH Bitcoin, molte chiavi estese e gli strumenti correlati standardizzano questa costruzione.

Questa landing si rivolge a chi cerca un codificatore Base58Check, un decodificatore Base58Check o un convertitore di checksum Bitcoin online; non è Base58 semplice senza checksum, non è Base64 e non è un classificatore completo di tipi di indirizzo che interpreta i byte di versione su ogni rete.

Integrità del copia-incolla per strumenti operativi

Codifichi etichette binarie versionate così il personale incolla stringhe che falliscono in modo chiuso su refusi invece di decodificare in silenzio byte errati.

Quale alfabeto usa questo strumento Base58Check?

L’alfabeto Bitcoin: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Esclude 0, O, I e l.

Il codificatore Base58Check è gratuito?

Lo strumento del browser è gratuito e gira in locale.

Cosa succede se il checksum non corrisponde in decodifica?

Il decodificatore ricalcola il checksum doppio SHA-256 a partire dai dati e lo confronta con i quattro byte salvati nella stringa. Se sono diversi, si ferma con un messaggio chiaro invece di consegnarle byte probabilmente sbagliati.

Devo inserire i dati in esadecimale o come testo semplice?

L'esadecimale è l'impostazione predefinita e richiede un numero pari di cifre esadecimali, come nell'esempio di 21 byte di questa pagina. Scelga il testo semplice per proteggere parole in UTF-8; in decodifica, la stessa scelta decide come vengono mostrati i dati recuperati.

Quanto è probabile che un errore di battitura sfugga a Base58Check?

Molto poco. I quattro byte di checksum lasciano circa una probabilità su quattro miliardi che un singolo carattere sbagliato passi inosservato, quindi un carattere alterato quasi sempre non supera la verifica invece di decodificarsi in byte errati.

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.

POSThttps://api.kit.forhosting.com/enc/base58-check

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Base58Check è il formato da binario a testo di Bitcoin che avvolge un payload con un checksum di quattro byte derivato dal doppio SHA-256 e poi codifica l’intera sequenza con l’alfabeto Base58 di Bitcoin. Questo codificatore Base58Check accetta un payload in hex o UTF-8 e restituisce una stringa Base58Check; il decodificatore inverte la mappa, ricalcola SHA256(SHA256(payload)) e segnala un errore invalid_input chiaro quando il checksum memorizzato non coincide. Il percorso è aritmetica puramente deterministica — senza rete, senza semi casuali e senza dipendenza dall’orologio — così l’esecutore gratuito del browser e l’API prepagata restituiscono sempre lo stesso JSON.

Cosa aggiunge Base58Check rispetto a Base58

Il Base58 semplice proietta i byte su cinquantotto caratteri non ambigui trattando il payload come un intero big-endian e dividendo ripetutamente per cinquantotto, con l’alfabeto Bitcoin che esclude lo zero, la O maiuscola, la I maiuscola e la L minuscola. Prima di codificare, il codificatore calcola lo SHA-256 del payload, poi lo SHA-256 di quel digest e aggiunge i primi quattro byte dell’hash esterno come checksum. Il buffer combinato — payload originale più quei quattro byte — viene quindi codificato in Base58 esattamente come il Base58 grezzo, inclusa la convenzione zero iniziali verso uno iniziali. In decodifica il processo si inverte: la decodifica Base58 produce byte; gli ultimi quattro sono il checksum dichiarato; il doppio SHA-256 del payload restante deve uguagliare quei quattro byte altrimenti l’operazione fallisce.

Come chiamare l’API e cosa contiene la risposta

Con format utf8, text viene codificato come byte UTF-8 prima del checksum. Invii un corpo JSON con un campo stringa obbligatorio text (alias input, value, data e payload), un mode opzionale encode o decode (predefinito encode) e un format opzionale hex o utf8 (predefinito hex). Gli spazi nell’hex vengono rimossi; lunghezza dispari o cifre non hex restituiscono invalid_input. Il mode decode tratta text come una stringa Base58Check sotto l’alfabeto Bitcoin, verifica il checksum a doppio SHA-256 e restituisce il payload in hex minuscolo se format è hex, o come stringa UTF-8 se format è utf8 (i payload binari non UTF-8 validi devono usare hex). In encode riuscito la risposta include mode, format, input, result e base58check con la stessa stringa codificata, payload_hex, checksum_hex, la costante alphabet e alphabet_name bitcoin, payload_bytes, output_length e un breve messaggio in inglese. In decode riuscito ottiene anche checksum_valid a true, input_length e un messaggio che conferma la verifica. Una validazione fallita — text assente, hex errato, mode o format sconosciuti, caratteri Base58 non validi, payload troppo corti per il checksum o mismatch del checksum — restituisce invalid_input e non viene mai addebitata. Il prezzo è una tariffa fissa di $0.002 per richiesta riuscita con unità item.

Consigli pratici, vettori classici e differenze dal Base58 semplice

Usi il Base58 semplice fratello quando le serve solo conversione di alfabeto senza checksum; usi questa capacità Base58Check quando conta l’integrità. Preferisca encode quando ha un hash con prefisso di versione o un altro payload binario in hex e le serve una stringa sicura da incollare con integrità; preferisca decode quando ha già una stringa tipo indirizzo Base58Check e deve recuperare il payload solo se il checksum è intatto. I test di fumo andata e ritorno sono diretti: codifichi il payload hex noto 00010966776006953D5567439E5E39F86A0D273BEE, confermi il risultato 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM, decodifichi quella stringa e confermi payload_hex e checksum_hex d61967f6. Alteri deliberatamente l’ultimo carattere di una stringa valida e verifichi che il client gestisca invalid_input con un messaggio che nomina i checksum di quattro byte ricevuto e atteso. Mantenga le richieste sotto il limite di caratteri pubblicato; payload estremamente lunghi si espandono come interi grandi ed è meglio suddividerli offline. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, così gli script esplorativi restano economici quando si testano checksum errati. In didattica, mostri lo stesso payload codificato con e senza checksum affinché gli studenti vedano perché le stringhe in stile Bitcoin sono più lunghe e perché un errore di un solo carattere fallisce quasi sempre in modo chiuso invece di aprire il wallet sbagliato.

Test di fixture di wallet e indirizzi

Costruisca fixture CI da payload hex noti, verifichi che l’encode Base58Check coincida con stringhe golden e rifiuti indirizzi manomessi tramite mismatch del checksum.

Insegnamento dei checksum a doppio SHA-256

In aula si codifica un vettore Bitcoin classico, si ispeziona checksum_hex e si altera un carattere per dimostrare invalid_input.

Qual è la differenza tra Base58 e Base58Check?

Base58 proietta solo i byte sull’alfabeto Bitcoin. Base58Check aggiunge prima quattro byte del doppio SHA-256 del payload, poi codifica in Base58 payload più checksum così il decode verifica l’integrità.

Cosa succede se il checksum non coincide?

Il decode restituisce invalid_input con un messaggio che include i checksum di quattro byte ricevuto e atteso in hex. Le attività fallite non vengono addebitate.

Il payload deve essere hex o testo semplice?

Il format predefinito è hex (cifre esadecimali di lunghezza pari), allineato agli strumenti Bitcoin. Imposti format su utf8 solo quando il payload è vero testo UTF-8.

Leggi la documentazione completa del KIT →