도구
KO

Base64 인코딩이란 무엇인가요?

Base64는 인쇄 가능한 64개의 문자만으로 모든 바이너리 데이터를 표현하는 방법입니다. 작동 원리와 탄생 배경, 그리고 언제 사용해야 하는지(또는 사용하지 말아야 하는지)를 알아봅니다.

한 문장으로 정리한 Base64

Base64는 RFC 4648에 정의된 바이너리-텍스트 인코딩 방식으로, 데이터 3바이트를 A–Z, a–z, 0–9, +, /로 이루어진 알파벳의 4개 문자로 표현합니다.

Base64가 필요한 이유

이메일(SMTP), JSON, XML, HTML 속성, URL, 터미널 등 많은 시스템은 텍스트만 다루도록 설계되었습니다. 이미지나 PDF 같은 원시 바이너리 데이터에는 이런 시스템이 변경하거나 거부할 수 있는 바이트가 들어 있을 수 있습니다. Base64는 데이터를 안전하고 인쇄 가능한 문자로 바꿔 전송 중에 손상되지 않도록 합니다.

Base64 인코딩 원리 단계별 설명

  1. 입력 바이트를 준비합니다: M, a, n = 77, 97, 110.
  2. 이를 24비트로 나타냅니다: 01001101 01100001 01101110.
  3. 비트를 6비트씩 네 묶음으로 나눕니다: 010011 010110 000101 101110 = 19, 22, 5, 46.
  4. 각 숫자에 해당하는 문자를 알파벳에서 찾습니다: 19 = T, 22 = W, 5 = F, 46 = u.

그래서 Man은 TWFu가 됩니다. 디코딩은 이 단계를 거꾸로 수행하면 됩니다.

Base64 알파벳

값문자
0–25A–Z
26–51a–z
52–610–9
62+ (URL 안전: -)
63/ (URL 안전: _)
패딩=

= 패딩의 의미

입력 길이가 3의 배수가 아니면 마지막 묶음을 채우고 = 기호로 표시합니다. 예를 들어 Ma는 TWE=, M은 TQ==가 됩니다. 올바른 문자열이라면 패딩이 중간에 나타나는 일은 없습니다.

Base64의 종류

Base64는 암호화가 아닙니다

Base64는 아무것도 숨기지 않으며 누구나 즉시 디코딩할 수 있습니다. 결과가 무작위 문자열처럼 보여서 보호 수단으로 오해받곤 합니다. 비밀 정보에는 AES 같은 진짜 암호화를 사용하고, Base64는 암호화된 바이트를 텍스트로 전송할 때만 사용하세요.

크기 증가

n바이트를 인코딩한 길이는 4 × ⌈n / 3⌉자로, 원본보다 약 33% 깁니다. MIME 줄바꿈을 넣으면 2–3% 더 늘어납니다.

Base64가 쓰이는 곳

자주 묻는 질문

Base64는 암호화나 해싱과 같은 것인가요?

아니요. 암호화는 되돌리려면 키가 필요하고 해싱은 아예 되돌릴 수 없지만, Base64는 누구나 디코딩할 수 있습니다.

왜 Base64라고 부르나요?

64개 문자로 이루어진 알파벳을 사용하기 때문입니다. 따라서 각 문자는 6비트의 정보를 담습니다(26 = 64).

문자열이 Base64인지 어떻게 알 수 있나요?

A–Z, a–z, 0–9, +, /(또는 - 및 _)만 포함하고, 길이가 보통 4의 배수이며, 끝에 = 기호가 한두 개 붙어 있을 수 있습니다. 가장 빠른 확인 방법은 Base64 Decoder Online에 붙여넣어 보는 것입니다.

최종 업데이트: