Перейти к содержанию

Конвертер Bech32

Кодируйте префикс и данные в Bech32 или Bech32m, или декодируйте и проверьте существующую строку.

Входные данные

Конвертер Bech32

Bech32 и его вариант Bech32m — это кодировки с контрольной суммой, используемые в современных адресах SegWit биткойна, счетах Lightning и ключах Nostr, таких как npub и nsec. Этот инструмент создает строку Bech32 или Bech32m из читаемого префикса и полезной нагрузки данных, или разбирает существующую строку, показывая вам префикс, данные в виде hex и правильность контрольной суммы.

Переключайте направление для выбора кодирования или декодирования. При кодировании данные читаются из поля ввода — как пары байтов hex или, если вы переключите формат входных данных на base32, как символы прямо из набора Bech32 (qpzry9x8gf2tvdw0s3jn54khce6mua7l) — объединяются с читаемым префиксом и к ним добавляется 6-символьная контрольная сумма, вычисленная для выбранного варианта. При декодировании происходит обратное: строка разбивается по последней "1", проверяется контрольная сумма для выбранного варианта и выводится префикс, затем данные в hex. Если контрольная сумма не совпадает с выбранным вариантом, но совпадает с другим, ошибка вам об этом скажет, так как Bech32 и Bech32m отличаются только одной константой при вычислении контрольной суммы.

Проверка длины с учетом лимита Bech32 в 90 символов обеспечивает соблюдение границ, установленных BIP-173 для префикса (83 символа) и всей строки (90 символов). Выключите её для работы с более длинными строками, например с base32 полезными нагрузками. Показывать контрольную сумму отдельно выводит 6-символьную контрольную сумму на отдельной строке. Помните, что это универсальный инструмент Bech32, а не специфичный для биткойна: адрес SegWit кодирует дополнительный символ версии уровня сведений перед данными, поэтому декодирование реального адреса здесь часто выдает ошибку несовпадения отступа — это ожидаемо.

Всё работает локально в вашем браузере; никакие введённые данные не загружаются на сервер. Скопируйте результат, загрузите его как файл .txt или отправьте вывод обратно во ввод для продолжения работы.

FAQ

Какая разница между Bech32 и Bech32m?
Они имеют одинаковую структуру и алфавит, но используют разную константу при вычислении контрольной суммы. Bech32 — оригинальный (используется адресами SegWit версии 0); Bech32m исправляет слабость оригинала для других версий уровня сведений и используется новыми форматами, такими как адреса Taproot.
Почему декодирование реального адреса биткойна иногда здесь не работает?
Адрес SegWit упаковывает символ версии уровня сведений перед фактическими данными перед контрольной суммой. Этот инструмент обрабатывает всё между префиксом и контрольной суммой как одну простую последовательность данных, поэтому символ версии не разбивается — декодирование по-прежнему проверяет контрольную сумму правильно, но выведенный hex охватывает весь поток, а не просто программу.
Что произойдет, если я вставлю данные в неправильном формате?
Вы получите четкую ошибку, объясняющую, что не так — например, нечетное количество hex цифр или символ за пределами набора Bech32 — вместо молчаливого неправильного ответа.
Могу ли я использовать префикс отличный от "bc"?
Да. Читаемый префикс — это любая строка печатных символов ASCII — "bc" для биткойна на основной сети, "tb" для тестовой сети, "npub"/"nsec" для ключей Nostr или любой выбранный вами префикс.
Загружаются ли мои данные куда-нибудь?
Нет. Кодирование и декодирование полностью работают в вашем браузере — никакие введённые или вставленные данные никогда не отправляются на сервер.