Praktický príklad
Base58 chápe bajty UTF-8 ako veľké celé číslo a zapisuje ich bitcoinovou abecedou bez ľahko zameniteľných znakov. Preveďte údaje lokálne v prehliadači. Napríklad vstup "qjsCz8VrnpDzyBv" dá výsledok "Čau, svet!". Porovnajte obe strany znak po znaku; viditeľný zápis môže skrývať odlišné bajty alebo kombinujúce znamienka. V tomto smere sa zakódovaný zápis zmení na čitateľný text. Vložte celú postupnosť aj s výplňou či únikmi a znaky porovnajte so zdrojovým systémom. Syntakticky správny zápis môže stále obsahovať bajty, ktoré netvoria platný text UTF-8.
Ako zápis funguje
Base58 sa používa pri úspornom alfanumerickom zápise, ktorý vynecháva vizuálne podobné znaky. Nástroj používa bitcoinovú abecedu bez nuly, veľkého O, veľkého I a malého l. Celá postupnosť bajtov UTF-8 sa chápe ako jedno nezáporné celé číslo a opakovane sa delí alebo násobí číslom 58. Každý úvodný nulový bajt sa zmení na úvodný znak 1; bez tohto pravidla by sa pôvodné bajty stratili. Existujú iné abecedy Base58 a Base58Check pridáva verziu i kontrolný súčet. Tento nástroj tieto kroky nevykonáva. Dekódované bajty musia tvoriť platné UTF-8, preto sa ľubovoľné binárne dáta môžu odmietnuť aj pri platnom Base58. Base58 chápe bajty UTF-8 ako veľké celé číslo a zapisuje ich bitcoinovou abecedou bez ľahko zameniteľných znakov.
Textová transformácia má smer. Najprv zistite, či je zdroj čitateľný text Unicode, zoznam bajtov, kódové body alebo už zakódovaný reťazec. Vložte krátku hodnotu so známym významom, pozrite si výsledok a až potom spracujte väčší vstup. Zdroj si ponechajte. Zakódovaný zápis môže byť vratný a pritom odhaliť každý pôvodný bajt komukoľvek, kto pozná formát; samotné kódovanie nechráni súkromie. Výpočet prebieha v tomto prehliadači a vložený obsah neposiela na konverzný server. Výsledok sa však môže stať verejným, ak ho vložíte do zdieľaného dokumentu, hlásenia chyby alebo adresy URL.
Obmedzenia a spoľahlivé použitie
Ide o čisté Base58, nie Base58Check: nepridáva verziu ani kontrolný súčet. Úvodné nulové bajty sa zmenia na znaky 1. Limit je 4096 bajtov. Použite presne tú abecedu, kódovanie bajtov a normalizačný tvar, ktoré očakáva prijímací systém. Podobné formáty nemusia byť zameniteľné. Dekódovaný reťazec môže obsahovať značkovanie alebo riadiace znaky a ďalšia aplikácia ho musí považovať za nedôveryhodný vstup. Platný prevod takisto nedokazuje oprávnenosť, bezpečnosť ani vecnú správnosť údajov. Pri vratnom postupe skúste spätný prevod a porovnajte kódové body alebo bajty UTF-8, ak dva reťazce vyzerajú rovnako, no pri presnom porovnaní sa líšia. Pri ukladaných či podpisovaných údajoch zdokumentujte transformáciu v dátovom rozhraní.