Перейти до вмісту

Конвертер 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 або будь-який вибраний вами префікс.
Мої дані завантажуються кудись?
Ні. Кодування і декодування повністю працюють у вашому браузері — жодні введені чи вставлені дані ніколи не відправляються на сервер.