정의 : 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식, base64 인코딩은 모든 8비트 문자를 64개의 문자로 표시하며, Encoding 될 문자열의 총 Bit 수를 3으로 나눈 나머지수만큼 '=' 로 Padding 한다.
64개를 표현하는데는 6비트가 필요하며,
인코딩된 문자열은 알파벳 대소문자와 숫자, 그리고 "+", "/" 기호이다.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
(대문자 A 가 0부터이고 마지막 = 는 Padding 문자)
Decoding을 할 때 - 는 + 로 변경해주고, _ 는 / 로 변경한 후 Decoding을 한다.
string base64EncodedText = base64UrlEncodedText.Replace('-', '+').Replace('_', '/');
Encoding을 할 때 + 는 - 로, / 는 _ 로 변경한 후 Encoding을 한다.
string base64UrlEncodedText = base64EncodedText.Replace("=", String.Empty).Replace('+', '-').Replace('/', '_');
참고 : http://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464
http://lazyhack.tistory.com/entry/Base64-%EC%9D%B8%EC%BD%94%EB%94%A9%EB%94%94%EC%BD%94%EB%94%A9
'호기심_메모' 카테고리의 다른 글
2015년 정보보안기사 시험일정 (0) | 2014.12.09 |
---|---|
파일타입 "p" (prwx------) (0) | 2014.12.03 |
사이트 : Advanced Bash-Scripting Guide & 예제 (0) | 2014.12.01 |
사이트 : Linux man pages (0) | 2014.12.01 |
세션(1) (0) | 2014.11.30 |