Base62와 Base64는 둘 다 데이터를 문자 기반으로 변환하는 인코딩 방식이지만, 사용 목적과 특성이 다르다.
각각의 차이점과 적합한 용도를 비교해보자.
1. Base62 vs Base64 개요
특징 | Base62 | Base64 |
사용 문자 | 0-9 (10개) + A-Z (26개) + a-z (26개) = 62개 | 0-9 (10개) + A-Z (26개) + a-z (26개) + +, / = 64개 |
URL 안전성 | ✅ (특수문자 없음) | ❌ (+, /가 포함되어 URL에서 인코딩 필요) |
공백 포함 여부 | ❌ (패딩 없음) | ✅ (일반적으로 = 패딩 사용) |
인코딩 효율성 | 덜 효율적 (62진법 변환 필요) | 더 효율적 (2^6 비트 단위 변환) |
변환 방식 | 숫자(ID) → 62진법 변환 | 3바이트(24비트) → 4개 6비트 단위로 변환 |
사용 목적 | 짧고 안전한 URL 단축, 고유 ID 생성 | 바이너리 데이터를 텍스트로 변환 (이미지, 파일 등) |
2. Base62 특징 및 사용처
Base62 특징
✅ URL 안전성: 특수문자가 없어서 별도 인코딩 없이 URL에서 직접 사용 가능
✅ 짧은 길이: 단축 URL, 고유 키 생성에 적합
✅ 사람이 읽기 쉬움: 영문자와 숫자로만 구성되어 있어 입력과 기억이 쉬움
✅ 고유한 키 생성: 데이터베이스 ID나 숫자 값을 짧고 고유한 문자열로 변환 가능
❌ 효율성 부족: Base64보다 인코딩 속도가 다소 느리고 복잡함
Base62 적합한 사용처
1. 단축 URL 시스템
- Base64는 +와 / 때문에 URL에서 추가 변환이 필요하지만, Base62는 추가 변환 없이 그대로 사용 가능
2. 고유한 키 생성 (UUID 변환, 데이터베이스 ID 인코딩)
- 숫자 기반 ID를 짧고 유일한 문자열로 변환하여 가독성과 보안성을 높임
3. 쿠폰 코드, 프로모션 코드
- 사람이 쉽게 입력하고 기억할 수 있는 짧고 고유한 코드 생성
3. Base64 특징 및 사용처
Base64 특징
✅ 효율적인 변환: 3바이트(24비트)를 4개의 6비트 문자로 변환하여 인코딩 속도가 빠름
✅ 바이너리 데이터 표현 가능: 텍스트가 아닌 데이터를 안전하게 문자열로 변환 가능
✅ 대부분의 프로그래밍 언어에서 기본 지원
❌ URL에서 사용 시 변환 필요: +, / 같은 특수문자가 포함되므로 URL에서 추가 변환이 필요 (Base64-URL Safe 사용 가능)
❌ 패딩(=) 문제: URL에서 =를 제거하는 추가 과정 필요
Base64 적합한 사용처
1. 이미지, 파일, 바이너리 데이터 전송 (HTTP, JSON, XML)
- Base64는 텍스트 기반으로 바이너리 데이터를 안전하게 전송하는 용도로 주로 사용됨
- 예) JSON API에서 이미지 데이터를 Base64로 인코딩하여 전송
2. 암호화된 데이터 저장
- 암호화된 데이터(예: JWT 토큰, OAuth 토큰)를 안전하게 문자열 형태로 저장
3. 이메일 첨부 파일 인코딩 (MIME)
- 이메일에서 첨부 파일을 Base64로 변환하여 전송
4. QR 코드 데이터 저장
- QR 코드에 바이너리 데이터를 포함할 때 사용
4. Base62 vs Base64: 어떤 경우에 선택해야 할까?
사용 사례 | Base62 | Base64 |
단축 URL 생성 | ✅ | ❌ |
고유한 짧은 ID 생성 | ✅ | ❌ |
바이너리 데이터 (이미지, 파일) 전송 | ❌ | ✅ |
OAuth/JWT 토큰 인코딩 | ❌ | ✅ |
QR 코드 데이터 저장 | ❌ | ✅ |
사람이 직접 입력할 코드 (쿠폰, 인증번호) | ✅ | ❌ |

'Dev > CS' 카테고리의 다른 글
[CS] 해싱과 암호화의 차이점 (2) | 2025.03.17 |
---|---|
[DNS] MX 레코드 확인 방법 (0) | 2025.02.10 |
DKIM과 DMARC 이란? (0) | 2025.01.02 |
[검색엔진] Solr에 대해서 알아보자 (1) | 2024.11.27 |
[정보처리기사] 소프트웨어 아키텍처 (2) | 2024.11.19 |