Base64란 무엇인가요?

바이너리 데이터에 텍스트 인코딩이 필요한 이유와 사용 시점

Base64가 해결하는 문제

컴퓨터는 모든 것을 이진 데이터로 저장하지만 이메일, JSON, HTML, URL 같은 텍스트 시스템은 임의의 바이너리를 안전하게 전달하지 못합니다. Base64는 이를 64개의 출력 가능한 ASCII 문자로 변환합니다.

Base64 작동 방식

입력 3바이트(24비트)를 6비트씩 네 그룹으로 나누고 A–Z, a–z, 0–9, +, /에 대응시킵니다. 결과는 원본보다 약 33% 커지며 필요하면 = 패딩을 붙입니다.

입력: "Hi!"  →  출력: "SGkh"

URL 안전 Base64

URL에서 특별한 의미가 있는 +/-_로 바꿉니다. 이메일과 데이터 URI에는 표준 형식, JWT·URL 매개변수·파일명에는 URL 안전 형식을 사용하세요.

주요 용도

  • HTML/CSS에 이미지 포함
  • 이메일 첨부 파일
  • JWT 같은 API 토큰
  • JSON에 바이너리 데이터 저장
  • HTTP Basic 인증

Base64가 아닌 것

Base64는 암호화가 아니라 인코딩입니다. 키나 비밀이 없어 누구나 즉시 디코딩할 수 있으므로 민감한 데이터를 숨기는 용도로 사용하면 안 됩니다.