Base64 인코딩이란?
Base64는 바이너리 데이터를 64개의 출력 가능한 ASCII 문자(대문자 A–Z 26개, 소문자 a–z 26개, 숫자 0–9 10개, 플러스 +와 슬래시 /)로 표현하는 이진-텍스트 인코딩 방식입니다. 패딩에는 등호(=)를 사용합니다. 원시 바이너리 바이트를 손상시킬 수 있는 텍스트 기반 프로토콜에서 바이너리 데이터를 안전하게 전송하기 위해 설계되었습니다. 현재는 CSS에 임베드된 data URI 이미지, Basic Auth 헤더, JWT 토큰, MIME 이메일 첨부파일, 바이너리 콘텐츠가 포함된 API 페이로드 등 웹 개발 전반에서 널리 사용됩니다.
현대 웹 개발에서 Base64가 가장 눈에 띄게 사용되는 곳은 data URI 형식입니다: data:image/png;base64,... — 추가 HTTP 요청 없이 HTML이나 CSS에 이미지를 직접 임베드할 때, 특히 작은 아이콘과 인라인 배경에 유용합니다. JWT(JSON Web Token)는 헤더와 페이로드 섹션에 + 대신 -, / 대신 _를 사용하는 Base64url 인코딩 변형을 사용합니다. Basic HTTP 인증은 Authorization 헤더에 자격증명을 Base64로 인코딩하여 전송합니다.
중요: Base64는 인코딩이지 암호화가 아닙니다. 누구든 키나 비밀번호 없이 Base64를 디코딩할 수 있으므로 기밀성은 전혀 제공되지 않습니다. 민감한 데이터를 보호하는 데 Base64를 사용하지 마세요. Base64는 데이터 크기를 약 33% 증가시킵니다: 3바이트가 4개의 Base64 문자로 변환됩니다. 이 도구는 표준 Base64(RFC 4648)를 지원합니다. 모든 인코딩과 디코딩은 브라우저 내에서 처리되며 데이터는 서버로 전송되지 않습니다.