Base64는 인코딩이지 암호화가 아니다 — 버려야 할 다섯 가지 오해
Base64는 메일 첨부, data URI, HTTP 헤더, JWT에 등장하는 — 웹에서 가장 오해받는 형식입니다. 다섯 가지 오해를 한꺼번에 바로잡습니다.
오해 1: 데이터를 숨겨준다
Base64는 가역 인코딩이지 암호화가 아닙니다. 키가 없고 누구나 마이크로초 만에 디코딩합니다. Base64 문자열은 평문으로 취급하세요.
오해 2: 압축해준다
반대입니다. 3바이트가 4문자가 되어 — 약 33% 커집니다. 실제 역할은 바이너리를 텍스트 전용 채널에서 안전한 인쇄 가능 문자로 바꾸는 것입니다.
오해 3: = 패딩은 장식
패딩은 그룹의 끝을 표시합니다. 깨지거나 없는 패딩이 디코딩 오류 1순위 원인입니다.
오해 4: 기본이 URL-safe
표준 Base64는 +와 /를 쓰며 URL과 파일명에서 문제가 됩니다. URL-safe 쌍둥이는 이를 -와 _로 바꿉니다.
오해 5: 비밀번호에 쓸 만하다
비밀번호를 Base64로 감싸는 건 보안이 전혀 없습니다. bcrypt/argon2 같은 실제 해시를 쓰세요.
문자열 안에 진짜 무엇이 있는지 확인하고 싶다면? 브라우저에서 Base64 디코딩/인코딩 — 데이터는 기기를 벗어나지 않습니다.