Base32 인코더 및 디코더
Base32는 바이너리 데이터를 32개의 문자로 표현합니다. 읽기 오류를 줄이기 위해 0/O나 1/I 없이 숫자 2-7과 26개의 대문자를 사용합니다. 그래서 사람이 입력하거나 소리 내어 읽어야 하는 것에 이상적입니다. 2단계 인증의 TOTP 시크릿, 바우처 코드, 대소문자를 구분하지 않는 식별자 같은 경우입니다. 이 도구는 RFC 4648을 따르며 표준 = 패딩으로 텍스트를 Base32로 인코딩하고 다시 디코딩합니다.
Base32를 인코딩하거나 디코딩하는 방법
-
1
변환할 텍스트 붙여넣기
입력은 바이트로 처리됩니다. 텍스트 입력의 기본 해석은 UTF-8입니다.
-
2
방향 선택
인코딩은 원시 바이트를 Base32 문자열로 바꾸고, 디코딩은 바이트를 복원합니다.
-
3
패딩 동작 확인
RFC 4648은 인코딩 결과가 8의 배수가 되도록 `=`로 채웁니다. 디코더는 패딩이 있든 없든 모두 받아들입니다.
-
4
결과 복사
인코딩 결과는 대문자이며 8의 배수가 되도록 `=`로 채워집니다.
RFC 4648 알파벳
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7
0도 없고, 1도 없고, 8도 없고, 9도 없습니다. 각 문자는 5비트(2^5 = 32)를 인코딩하므로 입력 5바이트가 출력 8문자가 됩니다.
풀이 예시
ASCII 문자열 foo(바이트 0x66 0x6F 0x6F = 01100110 01101111 01101111)를 인코딩하면:
- 5비트 그룹으로 나눔:
01100 11001 10111 10110 1111(마지막 그룹은 패딩) - 알파벳에 대응:
MZXW6 - 8문자에 맞추기 위해
===패딩 추가:MZXW6===
패딩과 길이 규칙
| 입력 바이트 수 | 출력 문자 수 | 패딩 |
|---|---|---|
| 1 | 8 | ====== |
| 2 | 8 | ==== |
| 3 | 8 | === |
| 4 | 8 | = |
| 5 | 8 | (없음) |
RFC 4648 외의 변형
- Base32 Hex, 알파벳
0-9A-V, DNSSEC의 NSEC3에서 사용됩니다. - Crockford’s Base32, 사람의 입력에 최적화된 알파벳입니다. 디코딩 시
O→0,I/L→1로 치환합니다. ULID와 일부 라이선스 키에서 사용됩니다.
이 도구는 표준 RFC 4648만 구현합니다. 위 변형들은 전용 변환기를 사용하세요.
TOTP 시크릿
Google Authenticator와 모든 최신 2FA 앱이 사용하는 otpauth:// URI 형식은 공유 시크릿을 패딩 없는 Base32로 인코딩합니다. “My Service”용 QR 코드를 스캔하면 secret= 파라미터가 Base32 문자열입니다. 이 도구로 디코딩하면 HMAC이 사용하는 원시 바이트를 확인할 수 있습니다.
자주 묻는 질문
Base32는 대소문자를 구분하지 않고 헷갈리는 문자를 피합니다. 사람이 읽거나 입력하는 모든 것에 중요합니다. Base64는 더 조밀해서 같은 바이트에 더 적은 문자가 필요하지만, I와 l, 0과 O를 구분해야 하므로 손글씨와 작은 인쇄에서 실패하기 쉽습니다.
RFC 4648은 인코딩 시 패딩을 규정합니다. 이 도구는 인코딩 결과를 항상 8의 배수가 되도록 =로 채웁니다. 대부분의 실제 사용처(TOTP 앱, ULID 라이브러리, DNSSEC 리졸버)는 패딩 없는 입력을 받아들이며, 이 디코더는 패딩 유무와 무관하게 양쪽 모두를 받습니다.
표준 Base32에는 0, 1, 8, 9가 없고 항상 대문자입니다. 디코더는 RFC 4648 알파벳 밖의 문자를 조용히 무시하므로, 소문자나 특수한 문자가 섞인 입력은 잘못된 바이트로 디코딩됩니다. 디코딩 전에 입력을 대문자 A-Z와 숫자 2-7로 정규화하세요.
예. 결과를 계산하기 위해 텍스트가 페이지의 서버로 전송되며, 여러 단계 보기에서는 같은 텍스트가 단계 링크에도 담깁니다. 저장되거나 기록되지는 않습니다.
관련 도구
Base64 파일 인코더
모든 파일(PDF, ZIP, 이미지, 실행 파일)을 Base64 텍스트로 인코딩해 JSON, 이메일, YAML, data URI에 삽입하세요. 브라우저에서 로컬로 실행되며 업로드가 없습니다.
Base58 인코더 및 디코더
UTF-8 텍스트나 16진수 바이트를 인코딩하고 Bitcoin, Ripple, Flickr 알파벳으로 Base58을 안전하게 디코딩하세요.
A1Z26 암호 인코더
A1Z26 암호(A=1, B=2, ... Z=26)로 텍스트를 인코딩하거나 숫자열을 다시 글자로 디코딩합니다. 구분자도 사용자 지정할 수 있습니다.
AES 암호화 / 복호화
OpenSSL의 AES cipher로 낮은 위험의 텍스트를 암호화하고 복호화합니다. passphrase는 SHA-256으로 해시되며 Base64 출력은 IV와 암호문을 담습니다.
체크섬 검증기
텍스트의 MD5, SHA-1, SHA-256, SHA-384, SHA-512 또는 CRC32 체크섬을 계산하고 기대값과 비교해 일치 여부를 명확하게 확인하세요.
암호 식별기
암호문을 붙여 넣으면 Base64, hex, 이진수, 모스, 시저 또는 치환, JWT, 일반적인 해시 등 가능성이 높은 인코딩/암호 방식을 제안합니다.
이 도구는 다른 언어로도 제공됩니다
- Base32エンコーダー・デコーダー [JA]
- Base32-Encoder/Decoder [DE]
- Encoder dan Decoder Base32 [ID]
- Base32 编码器和解码器 [ZH]
- Codificador y Decodificador Base32 [ES]
- Base32-kodare och avkodare [SV]
- Bộ mã hóa và giải mã Base32 [VI]
- Base32 Kodlayıcı ve Çözücü [TR]
- Base32 encoder en decoder [NL]
- ตัวเข้ารหัสและถอดรหัส Base32 [TH]
- Base32 Encoder and Decoder [EN]
- Encodeur et décodeur Base32 [FR]
- Codificador e Decodificador Base32 [PT]
- مشفر ومفكك Base32 [AR]
- Koder i dekoder Base32 [PL]
- Codificatore e Decodificatore Base32 [IT]
- Кодировщик и декодировщик Base32 [RU]