Base32 인코더 디코더
4가지 변형, 파일 변환, padding 제어, hex 출력, 로컬 다운로드로 TOTP 비밀값과 읽기 쉬운 ID를 Base32로 처리하세요.
관련 추천
Base32란?
Base32는 바이트를 32개의 출력 가능한 문자로 표현하는 binary-to-text 인코딩입니다. 표준 형식은 RFC 4648에서 정의되며 A-Z와 2-7을 사용합니다. 5비트마다 1문자가 되므로 결과는 원본 바이트보다 보통 약 60% 더 깁니다.
Base32는 가장 짧은 형식은 아니지만 특수 문자를 줄이거나 대소문자 구분이 약한 환경, 사람이 읽고 입력해야 하는 문자열에 적합합니다. TOTP 비밀값, 일부 DNS/설정 값, 활성화 코드, 읽기 쉬운 ID에 자주 쓰입니다.
이 페이지는 RFC 4648 Base32, Base32hex, Crockford Base32, z-base-32를 지원하며 엄격 검증, padding 제어, 줄바꿈, 텍스트/파일 변환, hex 보기를 제공합니다.
사용 사례
- TOTP/OTP 시크릿이 표준 Base32인지 확인하거나, 필요하면 Crockford 또는 z-base-32처럼 읽기 쉬운 형식으로 변환합니다.
- 바이너리 설정, 인증서 조각, 오프라인 활성화 코드, 리소스 fingerprint를 특수 기호가 적은 읽기 쉬운 문자열로 바꿉니다.
- padding 누락, 잘못된 변형, 비정상 길이 때문에 실패하는 타사 Base32 값을 디버깅합니다.
- 알 수 없는 Base32 payload를 먼저 UTF-8 또는 hex로 확인한 뒤, 필요하면 바이너리 파일로 다운로드합니다.
이용 방법
- 먼저 올바른 변형을 선택합니다: RFC 4648, Base32hex, Crockford, z-base-32.
- 인코딩할 때는 텍스트 또는 파일 입력을 고르고, padding, 소문자 출력, 줄바꿈 폭을 설정합니다.
- 디코딩할 때는 Base32 문자열을 붙여 넣고, 필요하면 엄격 검증으로 길이와 padding을 확인합니다.
- payload 유형에 맞게 결과를 텍스트, hex, 다운로드 가능한 바이너리 파일로 확인합니다.
주요 기능
- 4가지 Base32 변형 전환: RFC 4648, Base32hex, Crockford, z-base-32.
- 텍스트와 파일 처리: UTF-8 텍스트 또는 로컬 파일을 Base32로 변환합니다.
- 디코딩 결과를 UTF-8 텍스트, hex 또는 다운로드 가능한 바이너리로 확인합니다.
- padding, 소문자 출력, 64/76/사용자 지정 줄바꿈을 제어합니다.
- 브라우저에서 길이와 padding을 엄격히 검증하며 데이터는 업로드되지 않습니다.
Base32, Base64, Base58 중 무엇을 써야 할까요?
세 형식 모두 바이너리 데이터를 출력 가능한 문자열로 바꾸지만, 호환성, 문자 안전성, 출력 길이에 따라 적합한 작업이 다릅니다.
| 형식 | 적합한 용도 | 트레이드오프 |
|---|---|---|
| Base32 | TOTP 시크릿, 읽기 쉬운 ID, 대소문자를 구분하지 않는 환경 | 사람이 다루기 쉬운 문자 집합이지만 Base64보다 출력이 깁니다. |
| Base64 | 일반 텍스트/파일 전송, Data URL, API payload | 더 compact하지만 +, /, =가 포함될 수 있어 URL이나 파일명에는 URL-safe 변형이 필요할 수 있습니다.Base64 인코더Base64 URL Safe |
| Base58 | 수동으로 옮겨 적는 주소, 짧은 QR payload, 블록체인 스타일 ID | 0/O/I/l 혼동을 줄이지만 RFC 4648 계열은 아닙니다.Base58 인코더/디코더 |
Best Practices
먼저 상대 시스템이 요구하는 변형을 확인하세요
Base32 문제에서 가장 흔한 원인은 알고리즘이 아니라 alphabet 또는 variant 불일치입니다. Base32hex, Crockford, z-base-32가 요구되면 표준 Base32 결과는 보기에는 맞아도 거부될 수 있습니다.
텍스트라고 판단하기 전에 hex를 확인하세요
Base32 디코딩 결과가 항상 UTF-8 텍스트는 아닙니다. hex 보기는 payload가 인증서, 이미지 헤더, 압축 파일, 랜덤 키, 일반 텍스트인지 빠르게 구분하는 데 도움이 됩니다.
사람이 입력하는 값에는 Crockford 또는 z-base-32를 우선 고려하세요
엄격한 RFC 4648 호환보다 입력 오류 감소가 중요하다면, 이 변형들은 O/0, I/1 같은 시각적 혼동을 줄여 줍니다.
전체 흐름을 Base32에 묶어 두지 마세요
실제 작업에서는 다음 단계가 Base64, hex 또는 원본 파일 처리인 경우가 많습니다. 작업 흐름에 맞춰 형식을 바꾸는 편이 더 효율적입니다.
Base64 인코더Hex 변환자주 묻는 질문
Base32와 Base64는 어떻게 선택하나요?
더 짧고 일반적인 형식은 Base64가 좋고, 특수 문자를 줄이거나 사람이 읽고 입력하는 TOTP 비밀값에는 Base32가 좋습니다.
RFC 4648, Base32hex, Crockford, z-base-32의 차이는 무엇인가요?
주요 차이는 알파벳과 허용 규칙입니다. RFC 4648은 일반 표준, Base32hex는 숫자 우선, Crockford는 수동 입력, z-base-32는 읽기 쉬운 소문자를 중시합니다.
Tại sao một số chuỗi Base32 kết thúc bằng =?
RFC 4648 Base32와 Base32hex는 padding으로 =를 쓰는 경우가 많고, Crockford와 z-base-32는 보통 생략합니다.
Decoded output looks wrong
Dữ liệu gốc có thể không phải UTF-8. Hãy xem hex hoặc tải tệp nhị phân.
File conversion supported?
Có. Bạn có thể chuyển tệp sang Base32 rồi khôi phục lại byte nhị phân.
Data upload?
Không. Việc xử lý diễn ra cục bộ trong trình duyệt.
문제 해결
타사 결과와 값이 맞지 않는 이유는?
먼저 변형을 확인하세요. 표준 Base32, Base32hex, Crockford, z-base-32는 alphabet이 다르므로 작은 차이도 전체 결과를 바꿉니다.
엄격 모드에서 길이 오류가 나는 이유는?
입력에 padding이 빠졌거나, 잘못된 문자가 섞였거나, 다른 변형으로 생성된 값일 수 있습니다. 먼저 완화 모드로 내용을 확인한 뒤 원문을 수정하세요.
디코딩 후 텍스트가 비어 있거나 깨지는 이유는?
원본 데이터가 UTF-8 텍스트가 아니라 바이너리 파일 또는 랜덤 바이트일 수 있습니다. hex 보기로 전환하거나 디코딩된 바이너리를 다운로드하세요.
용어집
- RFC 4648 Base32
- 가장 일반적인 표준 Base32 변형입니다. A-Z와 2-7을 사용하며 = padding을 포함할 수 있습니다.
- Base32hex
- RFC 4648의 16진 순서 변형입니다. 알파벳은 0-9와 A-V입니다.
- Crockford Base32
- I, L, O, U를 제거하고 디코딩 시 O/0과 I/1/L/1을 허용하는 사람 친화적 변형입니다.
- z-base-32
- 사람이 입력하기 쉽도록 만든 변형으로 보통 소문자이며 padding을 쓰지 않습니다.
- padding
- 표준 Base32 길이를 맞추기 위해 끝에 붙는 = 문자입니다.
4가지 Base32 변형 빠른 비교
어떤 변형을 선택할지 모르겠다면 alphabet과 대표 용도부터 확인하세요.
| 변형 | Alphabet | = 사용 여부 | 대표 용도 |
|---|---|---|---|
RFC 4648 | A-Z + 2-7 | 보통 사용 | TOTP 및 표준 Base32 호환 |
Base32hex | 0-9 + A-V | 보통 사용 | 숫자 순서 비교 또는 특정 프로토콜 필드 |
Crockford | 0-9 + A-Z (without I/L/O/U) | 보통 사용하지 않음 | 수동 입력, 짧은 코드, 오타 허용 |
z-base-32 | ybndrfg8ejkmcpqxot1uwisza345h769 | 보통 사용하지 않음 | 읽기 쉬운 소문자 짧은 문자열 |
표준 Base32 길이와 padding 관계
RFC 4648 / Base32hex에서는 끝의 = 개수가 원본 바이트 길이에 따라 달라집니다.
| 입력 바이트 | 유효 Base32 문자 | 필요한 = padding |
|---|---|---|
| 1 | 2 | 6 |
| 2 | 4 | 4 |
| 3 | 5 | 3 |
| 4 | 7 | 1 |
| 5 | 8 | 0 |
Authoritative References
- IETFRFC 4648 - The Base16, Base32, and Base64 Data Encodings
- crockford.comDouglas Crockford - Base32 Encoding
- philzimmermann.comPhil Zimmermann - z-base-32
- WikipediaWikipedia - Base32
- 텍스트 비교
- 바이너리 변환
- 시저 암호
- 모스 부호
- 16진수 변환
- 비디오를 Base64로 변환
- Base64를 동영상으로 변환
- 이미지를 Base64로 변환
- Base64 이미지 변환
- 텍스트를 Base64로 변환
- Base64 텍스트로 변환
- 파일 해시 검증
- File to Base64
- Base64 파일로 변환
- 오디오 → Base64
- Base64를 오디오로 변환
- AES 암호화 및 복호화
- DES 암호화/복호화
- Base32 인코더 디코더
- Base58 인코딩 및 디코딩
- Base64 인코딩
- Base64 디코드
- Base64 비교
- Base64 분할
- Base64 여러 줄 병합
- Base64 형식화
- Base64 형식 검사
- Base64 일괄 인코딩
- Base64 일괄 디코딩
- Base64 정리
- Base64 패딩 처리
- Base64 길이 통계
- Base64 16진수로 변환
- Base64 DataURL 변환
- Base64-Hex 양방향 변환
- Base85 인코딩/디코딩
- HMAC 생성 및 검증
- PBKDF2 키 파생
- MD5 해시값
- SHA-256 해시
- SHA1 해시
- SHA512 해시
- JWT 도구
- HTML 엔티티 인코딩/디코딩
- Unicode 이스케이프
- URL 인코딩
- URL Safe Base64
- MIME Base64
- Java 난독화
- JS 난독화
- PHP 난독화
- Python 난독화