Base32 인코더·디코더
텍스트나 16진수 바이트를 Base32(RFC 4648)로 인코딩하거나 Base32를 텍스트로 디코딩합니다. 표준 알파벳과 Base32hex 알파벳, = 패딩 유무를 지원합니다.
Base32: RFC 4648 §6에 정의된 방식입니다.
Base32는 대문자 A–Z와 숫자 2–7, 단 32개의 문자만으로 바이너리 데이터를 표현하므로 대소문자를 구분하지 않는 시스템, 파일 이름, 소리 내어 읽는 경우에도 결과가 훼손되지 않습니다. 인증 앱(TOTP 2단계 인증 코드)의 비밀 키가 이 형식이며 RFC 4648에 정의되어 있습니다. 이 도구는 UTF-8 텍스트나 16진수 바이트를 인코딩하고, Base32를 텍스트와 바이트로 디코딩합니다.
사용 방법
- 인코딩과 디코딩 중 하나를 고릅니다.
- 텍스트를 붙여 넣습니다. 인코딩할 때 원시 바이트를 넣으려면 "입력 형식"을 16진수로 바꿉니다.
- 사용하는 시스템이 Base32hex(예: DNSSEC NSEC3 레코드)를 요구하지 않으면 표준 알파벳을 그대로 둡니다.
- 받는 쪽에서 끝에 붙는 = 기호를 원하지 않으면 패딩을 해제합니다(대부분의 TOTP 앱은 둘 다 받아들입니다).
계산식
5바이트(40비트)를 5비트씩 8개 그룹으로 나누고, 각 그룹(0–31)이 알파벳 문자 하나를 고릅니다.
마지막에 남는 그룹은 0 비트로 채우고, 패딩을 켜면 = 기호로 길이를 8의 배수로 맞춥니다. 출력 크기는 입력의 8/5, 즉 60% 늘어나며 Base64는 약 33% 늘어납니다.
예시
텍스트 "foobar"(6바이트)를 인코딩하면 RFC 4648의 공식 테스트 벡터인 MZXW6YTBOI======가 됩니다. 처음 5바이트가 MZXW6YTB가 되고, 여섯 번째 바이트 "r"이 OI가 되며, = 기호 여섯 개가 붙어 16문자가 됩니다. Base32hex 알파벳을 쓰면 같은 입력이 CPNMUOJ1E8======가 됩니다.
자주 묻는 질문
2단계 인증 비밀 키가 JBSWY3DPEHPK3PXP처럼 생긴 이유는 무엇인가요?
인증 앱은 공유 키를 Base32로 저장해서, 비슷하게 생긴 문자와 숫자를 헷갈리지 않고 사람이 직접 입력할 수 있게 합니다. 여기서 디코딩하면 원시 키 바이트를 16진수로 볼 수 있습니다.
표준 Base32에 0, 1, 8, 9가 없는 이유는 무엇인가요?
RFC 4648은 0, 1, 8이 O, I/L, B와 비슷하게 생겼기 때문에 제외했습니다. 숫자는 2–7만 사용하며, 알파벳 26자와 합쳐 32개의 기호가 됩니다.
Base32는 암호화인가요?
아닙니다. 키가 없는 되돌릴 수 있는 인코딩이라 누구나 디코딩할 수 있습니다. 데이터를 보호하려면 실제 암호화를 사용하세요.
디코딩할 때 소문자나 공백을 신경 써야 하나요?
아닙니다. 디코더는 공백과 줄바꿈을 무시하고, 소문자도 받아들이며, = 패딩이 있어도 없어도 동작합니다.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/base32-encoder/
인용·퍼가기
kakaoCalc. (2026, November 8). Base32 인코더·디코더. https://kakao.mobile/ko/tools/base32-encoder/
“Base32 인코더·디코더.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/base32-encoder/.