홈 > IT > IT정보 > 시스템
IT정보

base64 정리

base64 정리


1. base64 인코딩 

    1-1. base64 인코딩 과정

    1-2. base64 인코딩 특징

2. base64 디코딩

    2-1. base64 디코딩 과정

    2-2. base64 디코딩 특징

3. base64 인코딩/디코딩 실습 

    

1. base64 인코딩

a, ab, abc를 base64로 인코딩하면, 결과는 다음과 같다.

​a ---- > YQ==

ab --- > YWJ=

abc -- > YWJj

인코딩은 다음과 같은 base64 색인표의 값과 문자의 매칭으로 이루어진다.

a830d651bd54d5ac72873cdc0a00de91_1517021985_0645.PNG 

(출처 : https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464  )


1-1. ​base64 인코딩 과정 

d8d156e647ca093b500bbf7e5a352c2c_1517047997_3979.PNG
(출처 : https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464  ) 

위 사진은 'Man' 이라는 문자를 인코딩 한 과정이다. 사진에서 볼 수 있듯이 8비트의 문자로 이루어진 문자열을 6비트로 쪼개어 각각의 base64의 문자로 표현한다. 딱 인코딩 대상의 길이가 3으로 나누어 떨어지기 때문에 =(패딩)문자가 붙지 않고 인코딩 된 것을 확인할 수 있다. 만약 3의 배수로 떨어지지 않는 문자열이라면, 모자란 비트수를 채우기 위해 0을 채우는데 이 부분들이 =문자를 표시하는 부분이 된다.


1-2. base64 인코딩 특징 

    · + / 과 영문자의 대소문자와 숫자의 조합과, =(패딩)문자로 이루어진다.

    · 인코딩 대상의 길이가 3으로 나누어 떨어지지 않으면, 무조건 =(패딩)이 붙는다.

    · base64 인코딩 결과는 4로 나누어 떨어진다.(4로 나누어 떨어지는 이유는 아래 설명)


※ base64 인코딩 결과의 문자열 길이가 4로 나누어 떨어지는 이유 ※

8비트 문자열을 6비트의 base64의 64개의 문자열로 치환하기 때문에

8bit*3 == 6bit*4

이다. 그래서 패딩문자를 포함하여, 무조건 인코딩 결과의 길이는 4로 나누어 떨어지게 된다.


2/2-1. base64 디코딩/디코딩과정

d8d156e647ca093b500bbf7e5a352c2c_1517049643_8615.PNG
위 사진은 'Man'이라는 단어가 인코딩 된 'TWFu'라는 단어의 디코딩 과정이다. 6비트의 문자가 4개가 있으므로 8비트의 문자 3개로 떨어져 'Man'이라고 디코딩이 된다. 만약 패딩 문자가 포함되어 있다면, 어차피 모자란 비트 수를 채우기 위해 0이 삽입된 부분이므로, 디코딩 과정에 영향을 미치지 않는다.


​2-2. base64 디코딩 특징 

    · base64로 인코딩 된 문자열을 다시 ASCII 문자로 바꾸는 과정이다.

    · 디코딩 과정에서 =(패딩)문자는 디코딩 과정에 영향을 미치지 않는다.


3. base64 인코딩/디코딩 실습

다음 링크를 인코딩/디코딩을 직접 해볼 수 있다.

base64 인코딩 : http://www.convertstring.com/ko/EncodeDecode/Base64Encode

base64 디코딩 : http://www.convertstring.com/ko/EncodeDecode/Base64Decode

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기
0 Comments
Category
State
  • 현재 접속자 34 명
  • 오늘 방문자 211 명
  • 어제 방문자 394 명
  • 최대 방문자 628 명
  • 전체 방문자 24,582 명
  • 전체 게시물 528 개
  • 전체 댓글수 90 개
  • 전체 회원수 30 명
Facebook Twitter GooglePlus KakaoStory NaverBand