Base58 è un insieme di schemi di codifica da binario a testo, specificati da Satoshi Nakamoto per la rete Bitcoin, al fine di rappresentare numeri interi grandi come testo alfanumerico.
Da allora, è stato applicato ad altre crittovalute e applicazioni. È simile al Base64, ma è stato modificato per eliminare sia i caratteri non alfanumerici che quelle lettere che potrebbero essere confuse con altre, quando stampate. È quindi progettato per gli utenti umani che inseriscono manualmente i dati, copiandoli da una qualche sorgente visiva, ma consente anche una facile copia e incolla, perché un doppio clic di solito seleziona l'intera stringa.
Rispetto al Base64, sono state eliminate le seguenti lettere tra loro simili e in grado generare errati riconoscimenti: 0 (zero) e O ("o" maiuscola), così come I ("i" maiuscola) e l (lettere L minuscola), oltre ai caratteri non alfanumerici + (più) e / (slash).
Diversamente da Base64, le cifre della codifica non si allineano bene con i limiti di bit dei dati originali. Per questo motivo, il metodo è adatto per codificare interi di grandi dimensioni, ma non è progettato per codificare porzioni più lunghe di dati binari. L'ordine effettivo delle lettere nell'alfabeto varia a seconda dell'applicazione, motivo per il quale il solo termine "Base58" non è sufficiente per descrivere completamente il formato. Base58Check è uno dei formati di codifica Base58, che inizia con l'identificatore del tipo di dati e termina con un codice di controllo nei rimanenti caratteri. [1]
La variante Base56 differisce dalla Base58 per l'esclusione dei caratteri 1 (uno) e o (o minuscola).
Applicazione | Alfabeto |
---|---|
Indirizzi Bitcoin [2] | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz [3]
|
Hash per InterPlanetary File System[4] | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz [5]
|
URL abbreviato per Flickr[6] | 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ [7]
|