"이게 암호화 아니야?"
Base64로 인코딩된 자료를 처음 보면 알 수 없는 글자로 가득해 암호처럼 느껴진다. 결론부터 말하면 Base64는 암호화가 아니다. 한 번 차이를 풀어 본다.
Base64의 자리
- 이진 데이터 → 텍스트 변환
- 전송·저장 안전 표기
- 되돌리는 데 키 불필요
- 누구나 디코딩 가능
Base64는 표기법 변환. 의미를 숨기는 게 아니다.
암호화의 자리
- 의미 자체를 숨김
- 키 없이 되돌리기 불가
- 안전 알고리즘 사용
- 비밀 보호 목적
비교 1: 목적
- Base64 → 안전한 표기
- 암호화 → 비밀 유지
비교 2: 되돌리기
- Base64 → 누구나 가능
- 암호화 → 키 있어야 가능
비교 3: 결과 길이
- Base64 → 약 1.33배 일관
- 암호화 → 알고리즘별 다양
흔한 오해
"비밀번호를 Base64로 저장하면 안전하다"는 잘못된 인식. Base64는 누구나 디코딩 가능하므로 보안 효과 없음. 비밀번호 저장은 해시(SHA-256·bcrypt 등)로. Base64 인코더는 표기 변환에만 활용.
Base64가 적합한 자리
- 이미지 임베딩
- 이메일 첨부
- API 데이터 전송
- 설정 파일 인코딩
함께 쓰는 흐름
실제로는 Base64 + 암호화 함께 쓰는 경우 많다. 암호화된 결과(이진)를 Base64로 텍스트 표기. 자리가 다른 두 도구가 짝을 이뤄 작동. 베이스64 변환기로 표기 처리.
마무리
Base64는 암호화가 아니다. 표기법 변환이라는 점만 인식하면 적절한 자리에 적절한 도구를 쓸 수 있다.