정의:
정보를 64진수로 표시
컴퓨터에서 64진수 표현을 위해 6 bit 를 사용 (2^6 = 64)
원리:
대부분 컴퓨터의 정보 단위는 8 bit (1 byte) 이므로
Base 64 에서는 6 bit 를 8 bit 단위로 맞추기 위해
6과 8의 최소공배수인 24를 기준으로 8 bit 3묶음(3byte)을 6 bit 4묶음으로 변형하고
각 묶음을 아스키코드(A-Z a-z 0-9 +-: total 64개문자) 값으로 변경하는 방식
데이터가 3바이트로 나누어떨어지지 않을 경우 '=' 문자를 채움
사용 목적:
1. 암호화
2. 64개의 아스키문자열로 변환하여 데이터를 전송. -> 호환성 향상
사용예:
1. 한글과 같은 2바이트 문자열 전송시의 데이터 깨짐을 방지
2. 이메일 전송시 사용
단점:
1. 데이터 크기가 기존 데이터 대비 약 30% 이상 커짐
6-bit Value |
Encoding |
6-bit Value |
Encoding |
6-bit Value |
Encoding |
6-bit Value |
Encoding |
0 |
A |
16 |
Q |
32 |
g |
48 |
w |
1 |
B |
17 |
R |
33 |
h |
49 |
x |
2 |
C |
18 |
S |
34 |
i |
50 |
y |
3 |
D |
19 |
T |
35 |
j |
51 |
z |
4 |
E |
20 |
U |
36 |
k |
52 |
0 |
5 |
F |
21 |
V |
37 |
l |
53 |
1 |
6 |
G |
22 |
W |
38 |
m |
54 |
2 |
7 |
H |
23 |
X |
39 |
n |
55 |
3 |
8 |
I |
24 |
Y |
40 |
o |
56 |
4 |
9 |
J |
25 |
Z |
41 |
p |
57 |
5 |
10 |
K |
26 |
a |
42 |
q |
58 |
6 |
11 |
L |
27 |
b |
43 |
r |
59 |
7 |
12 |
M |
28 |
c |
44 |
s |
60 |
8 |
13 |
N |
29 |
d |
45 |
t |
61 |
9 |
14 |
O |
30 |
e |
46 |
u |
62 |
+ |
15 |
P |
31 |
f |
47 |
v |
63 |
/ |
Base64 아스키 대응표
출처: https://huikyun.tistory.com/70 [Development & Information Security]
'개발' 카테고리의 다른 글
DevOps란? CI/CD란? (0) | 2021.06.11 |
---|---|
정규표현식 정리 + 사례 연구 (0) | 2020.11.02 |
인공지능 - 선형회귀모델 (0) | 2020.05.01 |
인공지능 - 데이터 전처리 (0) | 2020.03.23 |
인공지능 - 머신러닝 이론 (0) | 2020.03.20 |