급여 시스템과 외부 시스템을 연동할 때, 바이너리 데이터나 특수 문자를 포함한 데이터를 전송해야 하는 경우가 있다. Base64 인코더의 원리를 이해하면 안전한 데이터 전송이 가능하다.
Base64란
Base64는 바이너리 데이터를 ASCII 문자열로 변환하는 인코딩 방식이다. A-Z, a-z, 0-9, +, / 64개 문자만 사용해서 어떤 환경에서도 안전하게 전송할 수 있다.
const data = "급여데이터"; const encoded = btoa(unescape(encodeURIComponent(data))); // 6riJ7Jes642w7J207YSw
companys.kr/base64-encoder에서 직접 테스트해볼 수 있다.
API 인증
HTTP Basic 인증에서 사용자명:비밀번호를 Base64로 인코딩한다.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
급여 API에 접근할 때 이런 방식을 사용할 수 있다. 물론 HTTPS 위에서만 안전하다.
파일 전송
급여 명세서 PDF를 JSON API로 전송할 때 Base64 인코딩한다. 바이너리 파일을 JSON 문자열로 담을 수 있다.
{ "employeeId": "EMP001", "period": "2026-02", "pdfContent": "JVBERi0xLjQKJ..." // Base64 인코딩된 PDF }
이미지 데이터
프로필 사진이나 전자 서명 이미지를 Base64로 인코딩해서 저장하기도 한다. Base64 변환 도구로 이미지를 Data URL로 만들 수 있다.
크기 증가
Base64 인코딩하면 원본보다 약 33% 크기가 커진다. 대용량 파일은 Base64 대신 멀티파트 업로드가 효율적이다.
JWT와 Base64
JWT(JSON Web Token)의 헤더와 페이로드가 Base64URL로 인코딩되어 있다. 급여 시스템 인증에 JWT를 쓴다면 Base64 디코딩으로 내용을 확인할 수 있다.
const [header, payload, signature] = jwt.split("."); const decodedPayload = JSON.parse(atob(payload));
마치며
Base64는 바이너리 데이터를 텍스트 기반 시스템에서 다룰 때 필수다. 변환이 필요할 때 온라인 Base64 인코더를 활용해보자.