Теория
Base58 — вариант кодирования «в текстовое число»: данные представляют как большое целое и последовательно делят на 58, превращая остатки в символы алфавита. Из алфавита исключены похожие символы — 0, O, I, l — и знаки \(+\) и \(/\), поэтому записи удобно копировать и диктовать.
Base58 прославился как формат адресов Bitcoin, откуда пришёл и его вариант Base58Check с контрольной суммой. Кодировка компактнее Base64 — длина близка к объёму исходных данных.
Важно: как и другие кодировки, Base58 не защищает данные — раскодирование доступно каждому.
Пример с решением
- Условие. Закодируйте «Hello World!» в Base58.
- Формула. Байты → большое число → деление на 58 с записью остатков.
- Подстановка. Число из 12 байтов последовательно делится на 58.
- Вычисление. Остатки в обратном порядке дают символы алфавита: 2NEpo7TZRRrLZSi2U.
- Ответ. «Hello World!» → «2NEpo7TZRRrLZSi2U». Калькулятор с этой строкой покажет ту же запись; декодирование вернёт исходник.
Главное
- Алфавит 58 символов — без 0, O, I, l, \(+\), \(/\).
- Данные — как большое число, деление на 58.
- Применение — адреса криптовалют.