검수요청.png검수요청.png

베이스64

해시넷
ghdrn221 (토론 | 기여)님의 2019년 8월 1일 (목) 17:06 판 (특징)
이동: 둘러보기, 검색

베이스64(Base64) 은2진 데이터를 아스키 텍스트로 변환하거나 그 반대로 변환 하는 인코딩 방법 으로 컴퓨터 분야에서 쓰이는 베이스 64 란 8비트 바이너리 데이터(예를 들어 실행파일이나, ZIP파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 스트링으로 바꾸는 인코딩 방식을 가리키는 개념 이다.[1]

개요

2진 데이터를 아스키 텍스트로 변환하거나 그 반대로 변환 하는 인코딩 방법이다. MIME에 의해 사용된는 방법으로, 4개의 7비트 아스키 문자로 표현되도록 데이터를 3 바이트씩 4개의 6비트 단위로 나누어 표현되고 메일에서 텍스트, 이미지, 오디오 파일을 보낼 때 이용하거나, SLM에서 AKAAUTH를 진행 하거나, IMS통신을 하는 경우 등 매우 다양한 곳에서 활용된는 코딩 으로 모든 플랫폼에서 안보이거나 깨지는 일이 생기지 않도록 공통으로 64개의 아스키 코드를 이용하여 2진 데이터를 변환하기 위해 베이스 64를 이용 하고, 베이스 64로 인코딩하면 크기가 33% 정도 커지게 된다. [2] 원래 Base 64를 글자 그대로 번역하여 보면 64진법이란 뜻이다. 특별히 64진법이 컴퓨터에서 흥미로운 것은, 64가 2의 제곱수(64 = 26)이며, 2의 제곱수들에 기반한 진법들 중에서 화면에 표시가 되는 ASCII 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문이다. 즉 다음 제곱수인 128진법에는 128개의 기호가 필요한데 화면에 표시되는 ASCII 문자들은 128개가 되지 않는다.

특징

Base64 Encoding

  • 2진 데이터를 ASCII 형태의 텍스트로 표현 가능 하다.
  • Web 인증 중 기본인증에 사용 한다.
  • 끝 부분의 padding(==) 식별 가능 하다.
  • 64개의 문자 영문 대(26), 영문 소(26),숫자(10),+,- 를 사용 한다.

응용

ABC를 bade64로 인코딩

임의로 ABC 를 정하고 맨아래의 ASCII코드표를 10진수로 변경 한다.
Q2.PNG Q1.PNG
  1. ABC를 ASCII의 10진수로 A(65)B(66)C(67)
  2. 10진수를 2진수로 변경하면 A = 01000001, B = 01000010, C = 01000011 즉 ABC = 010000010100001001000011이 된다.
  3. 수치 6비트로 자르면 010000 010100 001001 000011 이 된다.
  4. 이수치를 다시 10진수로 치환하면 16 20 9 3 이 된다.
  5. 비트64 table 의 수치로 전환
QUJD 와 같이 변환 하고 결과 > ABC >> QUJD

Base64 색인표

문자 문자 문자 문자
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 /

참고자료


같이 보기


  검수요청.png검수요청.png 이 베이스64 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.  

  1. 아라비안 왕자, 〈IT용어 Base64 란?〉,《티스토리》, 2012-06-21
  2. 제이, 〈What is base64?〉,《Bareum》, 2015-02-05