Base32 인코딩 & 디코딩
무료 온라인 Base32 인코딩 & 디코딩 도구. 100% 로컬 처리 — 데이터가 기기를 벗어나지 않습니다.
결과가 여기에 표시됩니다...
입력 → 인코딩
Usage Guide
Base32 소개
Base32(RFC 4648)는 32개의 ASCII 문자(A–Z와 2–7)를 사용하여 이진 데이터를 인코딩합니다. DNS 레이블, 파일 이름, 2단계 인증 비밀 키처럼 영숫자만 사용하고 대소문자를 구별하지 않는 출력이 필요한 환경을 위해 설계되었습니다.
사용 방법
Base32는 가역 변환입니다. 같은 도구로 인코딩과 디코딩 모두 가능합니다:
출력 형식
Base32 출력은 대문자 A–Z와 숫자 2–7을 사용하며, 8자의 배수가 되도록 =로 패딩됩니다. 예시: "hello" → "NBSWY3DPEB3W64TMMQ======".
Base32와 다른 인코딩 비교
용도에 맞는 인코딩을 선택하세요:
FAQ
Q: Base32 출력 끝에 = 기호가 붙는 이유는?
A: Base32는 문자당 5비트를 인코딩하고 5바이트(40비트) 블록 단위로 처리합니다. 입력 길이가 5의 배수가 아니면 마지막 블록을 채우기 위해 패딩 문자(=)가 추가됩니다. 이 패딩은 압축 저장 시 제거했다가 디코딩 전에 다시 추가할 수 있습니다.
Q: Base32는 실제로 어디에 사용되나요?
A: 가장 일반적인 실사용 예시는 TOTP/HOTP 비밀 키입니다. Google OTP, Authy, 모든 RFC 6238 호환 앱은 공유 비밀을 Base32로 인코딩합니다. DNS 이름(NSEC3 레코드), Tor .onion 주소(v3), 비트코인 Bech32 주소, 대소문자를 구별하지 않는 파일 시스템 식별자에도 사용됩니다.
Q: 패딩이 없는 Base32도 디코딩할 수 있나요?
A: 예. 이 도구는 끝에 = 패딩이 있거나 없는 Base32 입력 모두 허용합니다. 디코딩 시 패딩이 자동으로 처리됩니다.
Q: Base32와 Base32Hex의 차이점은 무엇인가요?
A: 표준 Base32(RFC 4648 §6)는 A–Z + 2–7을 사용합니다. Base32Hex(RFC 4648 §7)는 0–9 + A–V를 사용하며 원시 바이너리 데이터와 동일한 순서로 정렬되어 정렬 조회에 유리합니다. 이 도구는 표준 Base32를 구현합니다.
Q: Base32는 암호화나 보안 메커니즘인가요?
A: 아닙니다. Base32는 순수한 인코딩 방식으로 완전히 가역적이며 기밀성이나 무결성을 전혀 보장하지 않습니다. Base32 문자열을 본 누구라도 즉시 디코딩할 수 있습니다. 암호화에는 AES-256-GCM 또는 ChaCha20-Poly1305를 사용하세요.
Use Cases
권장: TOTP/HOTP 비밀 키
2단계 인증 앱(Google OTP, Authy, Microsoft Authenticator)은 공유 HMAC 비밀을 Base32 문자열로 인코딩합니다. 2FA 설정을 위해 QR 코드를 스캔하면 내장된 데이터에 Base32 인코딩 키가 포함됩니다. 이것이 Base32의 가장 주요한 실사용 사례입니다.
- ✅ Base32는 TOTP/HOTP 비밀의 표준 인코딩(RFC 6238, RFC 4226)
- ✅ 인증 앱 호환 공유 비밀 생성 시 Base32 사용
- ❌ Base32 인코딩 비밀을 암호화 또는 해시된 값과 혼동하지 마세요 — 가역적입니다
권장: DNS 안전 및 대소문자 무관 식별자
Base32 출력은 영숫자만 포함(+, /, = 없음)합니다. 대소문자 무관 특성과 결합하여 DNS 레이블, 대소문자 구별 없는 파일 시스템(Windows, macOS HFS+)의 파일 이름, 이메일 로컬 파트에 안전합니다.
- ✅ DNS 안전 식별자에 Base32(NSEC3 해시는 Base32Hex 사용)
- ✅ 대소문자 변환을 버텨야 하는 파일 이름에 Base32
- ✅ Tor v3 .onion 호스트명에 Base32
- ❌ 대소문자 구별 환경에서 압축적인 바이너리 변환이 필요하면 Base64 우선
허용: 사람이 직접 입력하는 코드
Base32는 일부 폰트에서 시각적으로 혼동되는 문자(0/O, 1/l)를 피합니다. 숫자 범위 2–7은 0과 1을 제외하기 위해 특별히 선택되었습니다. 이를 통해 인쇄 코드, 음성 식별자, 활성화 키에 적합합니다.
- ✅ 사용자가 수동으로 입력할 수 있는 활성화 코드나 라이선스 키에 Base32
- ⚠️ 더 엄격한 가독성이 필요하면 Crockford Base32 고려(I, L, O, U 추가 제외)
- ❌ 크기가 중요한 대용량 바이너리 데이터에는 Base32 부적합 — 출력이 입력의 약 1.6배
비권장: 범용 바이너리 인코딩
임의의 바이너리 데이터(이미지, 암호화 키, 인증서) 저장 및 전송에는 Base64가 더 적합합니다. 25% 더 압축적이고 범용으로 지원됩니다. Base32의 주요 장점(대소문자 무관)은 데이터가 표시되지 않을 때 의미가 없습니다.
- ❌ JSON, XML, HTTP 헤더에 바이너리 파일 임베딩에 Base32 부적합 — Base64 사용
- ❌ PEM 인증서 또는 SSH 키 재료에 Base32 부적합 — Base64 사용
- ✅ 모든 범용 바이너리-텍스트 인코딩에는 Base64
모범 사례 요약
- 대소문자 무관, 영숫자 전용 출력이 필요할 때 Base32 사용 — 주로 TOTP 시크릿과 DNS 안전 식별자.
- Base32는 암호화가 아닙니다 — 출력은 누구에게나 완전히 복원 가능합니다.
- 대소문자 구별 시스템에서 압축 바이너리 인코딩이 필요하면 Base64 우선(25% 더 효율적).
- 표준 알파벳은 A–Z + 2–7(RFC 4648 §6). 숫자 0과 1은 전사 오류를 줄이기 위해 의도적으로 제외됩니다.