Codifica e decodifica Base58

Il testo normale viene prima convertito in byte UTF-8 e poi codificato come Base58 o Base58Check.

0 caratteri in ingresso

Codifica e decodifica Base58 o Base58Check nel browser, con supporto per testo, file, alfabeti personalizzati e output esadecimale.

Raccomandazioni correlate

Cosa sono Base58 e Base58Check?

Base58 è una codifica di testo destinata alla lettura umana e al copia-incolla. Rimuoverà caratteri facilmente interpretabili in modo errato come 0, O, I e l, quindi viene spesso utilizzato in scenari come loghi brevi, codici di invito, indirizzi di portafogli e codici di condivisione offline.

La tabella dei caratteri standard Bitcoin Base58 è `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Questa pagina supporta sia la versione Flickr dell'alfabeto, sia il tuo alfabeto da 58 caratteri definito.

Base58Check è una soluzione che aggiunge un checksum di 4 byte dopo i byte originali e quindi lo codifica in Base58 nel suo insieme. Viene spesso utilizzato per vecchi indirizzi Bitcoin, esportazioni di chiavi private WIF, codici di invito o stringhe che devono essere trascritte manualmente. L'obiettivo è rilevare in anticipo errori di battitura, parole mancanti o fuori ordine.

Se ottieni un payload binario, un payload di indirizzo o un frammento hash, il contenuto decodificato non è necessariamente un testo leggibile. In questo momento, è più opportuno passare alla visualizzazione esadecimale, piuttosto che giudicare erroneamente i caratteri confusi come un errore di decodifica.

IPFS CIDv0 utilizza lo standard Base58btc invece di Base58Check; `bc1...` Questo tipo di indirizzo Bitcoin appartiene a Bech32 e non rientra nell'ambito di questa pagina Base58.

Casi d'uso

  • Verifica se il vecchio indirizzo Bitcoin, la stringa di esportazione della chiave privata WIF o il codice di condivisione personalizzato Base58Check sono stati inseriti in modo errato.
  • Codifica piccoli file, frammenti binari o test di payload in Base58 per una facile consegna in log, chat o ticket.
  • Decodifica la stringa Base58 in esadecimale e quindi analizzala per byte di versione, hash o payload non elaborato.
  • Confronta l'output tra Bitcoin Base58 e Flickr Base58 per scoprire perché lo stesso set di byte ha risultati diversi in sistemi diversi.
  • Progetta la tua tabella di caratteri da 58 caratteri per codici di invito interni, loghi brevi o token offline e verifica che entrambe le estremità siano coerenti.

Come utilizzare

  1. Seleziona la modalità di codifica o decodifica; se devi gestire stringhe soggette a errori immesse da persone, attiva l'opzione Base58Check.
  2. Seleziona Bitcoin, Flickr o una tabella di caratteri personalizzata; se si tratta di un protocollo privato, assicurarsi innanzitutto che entrambe le parti utilizzino lo stesso set di sequenze di 58 caratteri.
  3. Inserisci testo o carica un file durante la codifica; incolla la stringa Base58 durante la decodifica, passando al risultato esadecimale per vedere i byte grezzi, se necessario.
  4. Copia o scarica direttamente dopo aver visualizzato l'output; se è Base58Check, la pagina chiederà in modo sincrono se la verifica è stata superata.

Funzionalità

  • Modalità doppia standard Base58 e Base58Check: la codifica normale può essere eseguita direttamente oppure è possibile aggiungere o verificare automaticamente un checksum a 4 byte.
  • Sia il testo che i file possono essere codificati: il testo ordinario verrà elaborato in base a UTF-8 e i file verranno codificati in base a byte non elaborati, che è adatto per la consegna offline di contenuto binario.
  • I risultati della decodifica possono essere commutati tra testo o esadecimale: non rimanere bloccato con parole senza senso quando incontri payload di indirizzi, frammenti di hash o dati nonUTF-8.
  • Supporta Bitcoin, Flickr e tabella di caratteri personalizzata da 58 caratteri: adatta per la compatibilità con i sistemi esistenti o per il debug di soluzioni di codici brevi privati.
  • Elaborazione locale del browser e download dei risultati: la codifica, la decodifica e la verifica vengono tutte completate localmente e l'output può essere copiato o scaricato direttamente.

Come scegliere Base58, Base58Check, Base64?

Entrambi possono convertire byte in testo passabile, ma l'obiettivo è completamente diverso. La chiave non è "quale è più avanzato", ma se apprezzi maggiormente la trascrizione manuale e la prevenzione degli errori o se apprezzi la compattezza e la compatibilità universale.

Best Practices

La priorità verrà data a Base58Check quando trascritto manualmente o inoltrato dal servizio clienti

Finché la stringa verrà dettata, catturata in uno screenshot, inoltrata in chat o reinserita manualmente, vale quasi sempre la pena aprire un checksum. Non impedirà tutti gli errori, ma ridurrà significativamente le situazioni "sembra che sia giusto, ma in realtà manca un carattere".

Quando il risultato decodificato non è testo, guarda prima l'esadecimale

Non è garantito che contenuti come payload di indirizzi, hash, intestazioni di immagini e frammenti compressi siano UTF-8. Passa prima all'esadecimale per confermare i byte originali, quindi decidi se convertire il file, continuare l'hashing o consegnarlo ad altri strumenti per l'elaborazione.

Strumenti esadecimali

Non utilizzare Base58 come formato di archiviazione a lungo termine per file di grandi dimensioni

Base58 è più adatto per stringhe corte e carichi utili da piccoli a medi. Più grande è il file, più lungo sarà l'output, meno comodo da copiare e più probabile che venga troncato in rich text, strumenti di chat o log.

Quando si personalizza la tabella dei caratteri, è necessario sincronizzarla su tutti i terminali di produzione.

Finché un server, script o client utilizza un ordine diverso, i risultati di codifica e decodifica saranno tutti disallineati. Correggere prima la sequenza di 58 caratteri, quindi scriverla nel protocollo o nel campione di prova.

Dai la priorità al confronto Base64URL quando è richiesta una trasmissione dell'interfaccia più breve e più generale.

Il vantaggio di Base58 è che è facile da leggere e previene la confusione, ma non è delle dimensioni più piccole. Se le stringhe vengono principalmente passate tra programmi e non verranno trascritte dagli esseri umani, Base64URL è generalmente più compatto e comune.

Base64 URL Sicuro

Domande frequenti

Quale dovrei scegliere tra Base58 e Base64?

Se la stringa deve essere letta, copiata o inserita in altri, è preferibile Base58; se viene trasmesso principalmente in programmi, interfacce, parametri JSON o URL, solitamente Base64 o Base64URL è più compatto. L'obiettivo di Base58 è la leggibilità e l'anti-offuscamento, non l'output più breve.

Base58Check Che problema risolve?

Aggiunge un checksum di 4 byte al payload originale, quindi codifica l'intero payload con Base58. In questo modo, quando l'utente perde una parola, fa un errore di battitura o scrive nell'ordine sbagliato, lo strumento segnalerà più facilmente un errore in tempo, invece di ottenere silenziosamente una serie di risultati privi di significato.

Questa pagina può verificare gli indirizzi Bitcoin?

È possibile verificare che il livello Base58Check sia corretto, quindi è opportuno verificare se sono presenti errori di input evidenti nella vecchia versione dell'indirizzo Base58 o della stringa di esportazione WIF. Tuttavia, non determinerà ulteriormente l'utilizzo dell'indirizzo, il tipo di rete e il tipo di script, né supporta indirizzi Bech32 come `bc1...`.

Perché il codice dopo la decodifica è confuso o il prompt non è UTF-8?

Perché Base58 decodifica byte grezzi, non necessariamente testo leggibile. Ciò può accadere con payload di indirizzi, hash, intestazioni di immagini o dati binari arbitrari. Passa all'esadecimale per visualizzare i byte grezzi e in genere puoi continuare l'analisi.

La codifica e decodifica del file Base58 è supportata?

Supporto. Puoi caricare file durante la codifica e la pagina verrà convertita in Base58 in base ai byte originali; puoi anche scaricare nuovamente il risultato originale dopo la decodifica. Più grande è il file, più lunga è la stringa di output, rendendola più adatta a carichi di lavoro di piccole e medie dimensioni o a scenari di debug.

Quali tabelle di caratteri sono supportate?

Attualmente supporta gli standard Bitcoin Base58, Flickr Base58 e la tua tabella di caratteri personalizzata da 58 caratteri. Finché l'estremità di codifica e quella di decodifica utilizzano esattamente la stessa sequenza di caratteri, possono comunicare tra loro.

Può gestire IPFS CID o altre stringhe on-chain?

CIDv0 Tali stringhe standard Base58btc possono essere codificate o decodificate direttamente; ma la pagina non continuerà ad analizzare la semantica multibase, multicodec o concreta sulla catena. Le stringhe Bech32 come `bc1...` non rientrano nell'ambito di Base58.

Il contenuto caricato verrà inviato al server?

No. Testo, file e risultati del checksum Base58Check vengono tutti elaborati localmente nel browser, il che è adatto per il debug di carichi sensibili, dati di test offline o frammenti di file che sono scomodi da caricare.

Risoluzione dei problemi

Il suggerimento contiene caratteri Base58 non validi

La tabella dei caratteri corrente non accetta caratteri esclusi come 0, O, I e l. Potrebbe anche darsi che tu abbia tagliato la tabella dei caratteri Bitcoin / Flickr / personalizzata sbagliata. Confermare innanzitutto l'origine della stringa, quindi verificare se la tabella dei caratteri è coerente con quella dell'interlocutore.

Verifica Base58Check fallita

Questo di solito significa che la stringa è stata sottocopiata, che i caratteri sono stati scritti in modo errato o che non è Base58Check stesso. Per prima cosa conferma se hai davvero bisogno di aprire Base58Check, quindi torna indietro e controlla se il contenuto originale è completo.

Impossibile salvare la tabella dei caratteri personalizzata

La tabella dei caratteri personalizzata deve contenere esattamente 58 caratteri e ogni carattere deve apparire una sola volta. Si consiglia di modificare prima la tabella dei caratteri standard Bitcoin per evitare caratteri mancanti o caratteri ripetuti.

Il risultato decodificato non è testo

Questo non è necessariamente un bug. Molte stringhe Base58 trasportano originariamente carichi utili binari. Passa all'esadecimale per visualizzare o scarica i risultati della decodifica come file, quindi decidi il passaggio successivo.

Glossario

Base58
Codifica testo a 58 bit che rimuove caratteri facilmente confondibili come 0, O, I, l, ecc., adatta per l'immissione manuale e la condivisione della copia.
Base58Check
Un checksum di 4 byte viene aggiunto dopo il payload originale, quindi l'intera codifica Base58 viene utilizzata per rilevare prima gli errori di input.
Carico utile
Esegui Base58 o Base58Check contenuto in byte non elaborato prima della codifica, che può essere testo, byte di file, carico utile dell'indirizzo o dati binari arbitrari.
Somma di controllo
Brevi impronte digitali per un rapido controllo degli errori. Base58Check raddoppierà SHA-256 sul payload e prenderà i primi 4 byte come checksum.
Bitcoin Base58 Tabella dei caratteri
La tabella di caratteri Base58 più comune: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr è un altro set di ordinamento utilizzato da Base58, l'ordine dei casi è diverso dalla versione Bitcoin, quindi gli stessi byte otterranno un output diverso.

Tabella dei caratteri supportata dalla pagina corrente

Per lo stesso set di byte, purché l'ordine della tabella dei caratteri sia diverso, l'output finale Base58 sarà diverso.

tabella dei caratteriUsi comuniDescrizione

Quando dovresti passare alla visualizzazione esadecimale?

Base58 Il risultato decodificato non può sempre essere letto direttamente nel testo.

Contenuto riscontratoUn modo migliore per vedereMotivo

Authoritative References