Praktický příklad
Base58 chápe bajty UTF-8 jako velké celé číslo a zapisuje je bitcoinovou abecedou bez snadno zaměnitelných znaků. Převeďte údaje lokálně v prohlížeči. Například vstup "HNWnD3D8j4A5k9W93e" dá výsledek "Čau, světe!". Porovnejte obě strany znak po znaku; viditelný zápis může skrývat odlišné bajty nebo kombinující znaménka. V tomto směru se zakódovaný zápis změní na čitelný text. Vložte celou posloupnost i s výplní či úniky a znaky porovnejte se zdrojovým systémem. Syntakticky správný zápis může stále obsahovat bajty, které netvoří platný text UTF-8.
Jak zápis funguje
Base58 se používá pro úsporný alfanumerický zápis, který vynechává vizuálně podobné znaky. Nástroj používá bitcoinovou abecedu bez nuly, velkého O, velkého I a malého l. Celá posloupnost bajtů UTF-8 se chápe jako jedno nezáporné celé číslo a opakovaně se dělí nebo násobí číslem 58. Každý úvodní nulový bajt se změní na úvodní znak 1; bez tohoto pravidla by se původní bajty ztratily. Existují jiné abecedy Base58 a Base58Check přidává verzi i kontrolní součet. Tento nástroj tyto kroky neprovádí. Dekódované bajty musí tvořit platné UTF-8, proto se libovolná binární data mohou odmítnout i při platném Base58. Base58 chápe bajty UTF-8 jako velké celé číslo a zapisuje je bitcoinovou abecedou bez snadno zaměnitelných znaků.
Textová transformace má směr. Nejdříve zjistěte, zda je zdroj čitelný text Unicode, seznam bajtů, kódové body nebo již zakódovaný řetězec. Vložte krátkou hodnotu se známým významem, prohlédněte si výsledek a až potom zpracujte větší vstup. Zdroj si ponechte. Zakódovaný zápis může být vratný a přitom odhalit každý původní bajt každému, kdo zná formát; samotné kódování soukromí nechrání. Výpočet probíhá v tomto prohlížeči a vložený obsah neposílá na konverzní server. Výsledek se přesto může stát veřejným, vložíte-li ho do sdíleného dokumentu, hlášení chyby či adresy URL.
Omezení a spolehlivé použití
Jde o čisté Base58, ne Base58Check: nepřidává verzi ani kontrolní součet. Úvodní nulové bajty se změní na znaky 1. Limit je 4096 bajtů. Použijte přesně tu abecedu, kódování bajtů a normalizační tvar, které očekává přijímající systém. Podobné formáty nemusí být zaměnitelné. Dekódovaný řetězec může obsahovat značkování či řídicí znaky a další aplikace jej musí považovat za nedůvěryhodný vstup. Platný převod také nedokazuje oprávněnost, bezpečnost ani věcnou správnost údajů. U vratného postupu zkuste zpětný převod a porovnejte kódové body nebo bajty UTF-8, pokud dva řetězce vypadají stejně, ale při přesném porovnání se liší. U ukládaných či podepisovaných dat zdokumentujte transformaci v datovém rozhraní.