Base58 кодер / декодер
Кодирование и декодирование Base58 с алфавитами Bitcoin, Flickr или Ripple для текста и файлов до 1 МиБ. Локально в браузере, без загрузки на сервер.
Введённые данные и файлы остаются в браузере
Введите текст для кодирования или вставьте Base58 для декодирования — или перетащите файл ниже.
Перетащите файл сюда
Если выбран файл, он будет использован вместо текстового ввода.
Здесь появится результат кодирования или декодирования.
На этой странице
Кодируйте текст и небольшие файлы в Base58 и декодируйте обратно в алфавите Bitcoin, Flickr или Ripple. Преобразование выполняет WebAssembly-модуль, собранный из Rust, прямо в браузере — вставленные ключи и идентификаторы остаются на устройстве.
Подробное описание функциональности
Base58 использует 58 букв и цифр и исключает похожие символы 0, O, I и l, а также + и /, поэтому закодированные значения легко читать, перепечатывать и выделять двойным щелчком. На этой кодировке построены адреса Bitcoin, хеши IPFS CIDv0 и ключи Solana. Доступны три алфавита: Bitcoin (самый распространённый), Flickr (строчные буквы идут раньше заглавных, применяется в коротких ссылках) и Ripple (XRP Ledger).
В отличие от Base64, Base58 рассматривает весь ввод как одно большое число: паддинга нет, а каждый ведущий нулевой байт превращается в ведущую 1 в алфавите Bitcoin. Объём вычислений растёт квадратично с размером ввода, поэтому кодирование ограничено 1 МиБ, а декодирование — 2 000 000 символов; для больших файлов используйте Base64 или Hex.
Это «чистый» Base58: инструмент не добавляет и не проверяет 4-байтовую контрольную сумму Base58Check, которая есть в адресах Bitcoin и ключах WIF, поэтому при декодировании адреса вы получите байт версии, данные и контрольную сумму вместе. Байты, которые не являются текстом в выбранной кодировке, можно сохранить через Скачать.
Практические примеры
Алфавит Bitcoin: Hello World! кодируется в 2NEpo7TZRRrLZSi2U, а декодирование этой строки возвращает Hello World!.
Другие алфавиты: тот же текст в Flickr даёт 2nePN7syqqRkyrH2t, в Ripple — p4NFofTZRRiLZS5p7.
Недопустимый символ: 2NEpo0TZRRrLZSi2U (ноль вместо 7) отклоняется — 0 нет ни в одном алфавите Base58.
Адрес Bitcoin: декодирование 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa даёт 25 сырых байт (версия, хеш и контрольная сумма); инструмент сообщит, что это не текст, а Скачать сохранит их.
Как использовать этот инструмент
Введите текст или выберите файл
Вставьте текст в поле Ввод (текст) либо перетащите на страницу файл до 1 МиБ или нажмите Выбрать файл.
Выберите алфавит
В поле Алфавит выберите Bitcoin (Base58), Flickr или Ripple. Кодировка текста меняйте, только если текст не в UTF-8.
Закодируйте или декодируйте
Нажмите Кодировать, чтобы получить Base58, или Декодировать, чтобы восстановить текст или байты. Декодируйте тем же алфавитом, которым кодировали.
Скопируйте или скачайте
Копировать помещает результат в буфер обмена, Скачать сохраняет его в файл; бинарный результат можно только скачать.
Советы и лучшие практики
- Результат Base58 примерно на 37% длиннее исходных данных — чуть длиннее, чем Base64, зато без неоднозначных символов.
- Ведущие символы
1в строке алфавита Bitcoin означают ведущие нулевые байты; если их удалить, декодированное значение изменится. - Строка, декодированная не тем алфавитом, даёт другие байты или ошибку:
2NEpo7TZRRrLZSi2Uс выбранным Ripple превращается в 13 байт двоичных данных вместоHello World!. - Пробелы и переносы во вводе пропускаются, пока включено Разрешить пробелы/переводы строк, — удобно для ключей, разбитых на строки.
- Для файлов больше 1 МиБ используйте Base64 или Hex: они работают за линейное время.