도구스개발

Bech32·Bech32m 체크섬 계산기

Bech32(BIP-0173)·Bech32m(BIP-0350) 체크섬을 검증하고 만듭니다. 세그윗 버전에 따라 어느 상수를 써야 하는지 확인합니다.

Bech32(세그윗 v0)로 유효합니다

HRP: a

HRPa
변형Bech32
데이터(5비트 값)(없음)
Bech32(BIP-0173)와 Bech32m(BIP-0350)은 체크섬 계산에 XOR하는 상수만 다릅니다(1 vs 0x2bc830a3). 세그윗 v0 주소는 Bech32, v1 이상(테이프루트 포함)은 Bech32m을 씁니다. 대문자와 소문자를 섞어 쓸 수 없습니다.

사용 방법

  1. 1검증할 문자열을 넣으면 HRP·데이터·어느 변형(Bech32/Bech32m)인지 확인합니다.
  2. 2새로 만들려면 HRP와 5비트 데이터 값, 원하는 변형을 고릅니다.
  3. 3체크섬이 어느 쪽으로도 유효하지 않으면 오류로 표시됩니다.

자주 묻는 질문

체크섬 계산 끝에 XOR하는 상수만 다릅니다. Bech32(BIP-0173, 세그윗 v0 주소)는 1을, Bech32m(BIP-0350, 세그윗 v1 이상·테이프루트 주소)은 0x2bc830a3을 씁니다. BIP-0350은 원래 Bech32 상수로는 긴 주소 뒤쪽에서 "q"를 삽입·삭제해도 체크섬이 걸리지 않는 취약점이 있어 상수를 바꿨다고 설명합니다.

주소가 담을 세그윗 버전에 따라 정해집니다. 세그윗 v0(예: 기존 bc1q... 주소)는 Bech32, 세그윗 v1 이상(예: 테이프루트 bc1p... 주소)은 Bech32m을 씁니다. 이 계산기는 두 상수를 모두 시도해 어느 쪽으로 유효한지 알려줍니다.

Base58Check은 레거시(P2PKH/P2SH) 비트코인 주소에 쓰는 체크섬으로, 이중 SHA-256 해시의 앞 4바이트를 덧붙이는 방식입니다. Bech32/Bech32m은 세그윗 이후 주소에 쓰는 5비트 알파벳과 BCH 코드 기반 다항식 체크섬으로 완전히 다른 알고리즘입니다.

Bech32 데이터·체크섬에 쓰는 32글자 알파벳("qpzry9x8gf2tvdw0s3jn54khce6mua7l")에는 숫자 1이 없기 때문입니다. 그래서 문자열에서 맨 마지막에 나오는 "1"이 항상 HRP와 데이터를 나누는 구분자입니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • BIP-0173(github.com bitcoin/bips)의 참조 구현(polymod·hrpExpand)을 그대로 옮겼습니다. BIP-0350(bech32m)의 상수 변경 이유도 원문 기준입니다(WebSearch 교차 확인, 2026-09-05).
  • BIP-0173의 공식 테스트벡터 "A12UEL5L"(Bech32)와 BIP-0350의 "A1LQFN3A"(Bech32m)로 검산했습니다.
  • 대문자와 소문자를 섞어 쓸 수 없습니다(BIP-0173 규정). 전부 대문자이거나 전부 소문자여야 합니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 5일 · 결과는 참고용 추정치입니다.