> encode | decode | safe <

// 사람이 읽기 쉬운 비모호한 Base32 인코딩

[SIMPLE]

쉽게 사용

Base32 인코딩/디코딩을 즉시 수행하는 간단한 인터페이스.

[SECURE]

로컬 처리

모든 변환은 브라우저에서 수행됩니다. 데이터는 기기를 떠나지 않습니다.

[READABLE]

사람 친화적

A‑Z와 2‑7만 사용하여 혼동되는 문자를 피합니다.

>> 기술 정보

Base32 동작 방식:

Base32는 32개의 문자(A‑Z, 2‑7)로 이진 데이터를 표현합니다. 사람이 읽기 쉽고, 혼동을 줄이도록 설계되었습니다.

예시:

"Hello" → JBSWY3DPEBLW64TMMQ======

Base32를 사용하는 이유:

  • >읽기 쉬운 출력
  • >모호한 문자 없음 (0,1,O,I 제외)
  • >대소문자 구분 없음
  • >사용자 입력 시나리오에 적합
  • >Base16보다 짧고 Base64보다 김

>> 자주 묻는 질문

Base32 인코딩이란?

Base32는 32개의 기호(A‑Z, 2‑7)로 이진 데이터를 사람이 읽기 쉬운 형태로 표현하는 방식입니다.

언제 Base32를 사용하나요?

읽기 쉽고 혼동이 없는 인코딩이 필요할 때(인증 토큰, API 키, 사용자 식별자 등).

왜 모든 숫자/문자를 쓰지 않나요?

0, 1, O, I는 서로 비슷해 혼동을 일으키므로 제외됩니다.

등호(=)는 무슨 의미인가요?

패딩 문자로, 길이를 8의 배수로 맞춰 올바른 디코딩을 보장합니다.

// 빠른 참조

입력Base32Base64
fMY======Zg==
foMZXQ====Zm8=
fooMZXW6===Zm9v
foobMZXW6YQ=Zm9vYg==
foobaMZXW6YTBZm9vYmE=
foobarMZXW6YTBOI======Zm9vYmFy

// 코드 예제

CLI      echo -n foobar | base32
Python   base64.b32encode(b'foobar')   /   base64.b32decode(s)
Go       base32.StdEncoding.EncodeToString([]byte("foobar"))
Java     new Base32().encodeToString(bytes)   // commons-codec
Node.js  npm i hi-base32   // no built-in

>> 더 많은 질문

Q: Base32, Base64, Base16의 차이는 무엇인가요?

A: 셋 모두 RFC 4648에 정의되어 있으며 문자당 비트 수만 다릅니다. Base16은 4비트(오버헤드 100%), Base32는 5비트(60%), Base64는 6비트(33%)입니다. Base32는 더 길지만 읽기 쉽고 대소문자를 구분하지 않습니다.

Q: Base32 디코딩은 대소문자를 구분하나요?

A: 아니요. RFC 4648은 알파벳을 대문자로 정의하지만 디코더는 소문자도 동일하게 처리해야 합니다. 이 도구는 디코딩 전에 입력을 대문자로 바꾸므로 jbswy3dp와 JBSWY3DP의 결과는 같습니다.

Q: Base32는 실제로 어디에 쓰이나요?

A: 주로 TOTP/2FA 비밀키(Google Authenticator, Authy), Tor v3 onion 주소(56자), 일부 파일 시스템이나 DNS 레이블처럼 대소문자를 구분하지 않는 시스템의 식별자에 쓰입니다.