출처 및 참조 : http://www.iamcorean.net/130
출처 및 참조 : http://huikyun.tistory.com/70
Base64 구현코드 : 첨부파일(zip)을 그대로 등록하시면 됩니다.
1. 원리는 뭘까요?
일반적으로 컴퓨터는 byte라고 하는 8bit를 기준으로 데이터를 표한하는 것이 일반적입니다.
8bit로 표현하는 데이터를 6bit로 표현하겠다는 겁니다.
8bit와 6bit의 최소 공배수는 24bit입니다.
즉 입력된 byte 문자열을 24bit 단위로 잘라서 다시 6bit씩 잘라서 표에 따라 문자로 변환해줍니다.
아래 그림을 보면 글자 3개 24bit를 다시 6bit 문자 4개로 나누고 있습니다.
그럼 실제로 바꿔 볼까요?
step1) 먼저 예를 들면 "abc"는 8bit 문자로 구성된 byte 문자열 입력입니다.
step2) 그럼 이 값은 각 문자를 의미하는 8bit 이진값으로 표현됩니다.
step3) 이를 6bit 단위로 다시 구분합니다
step4) 이를 base64 문자셋으로 변환합니다 아래의 표를 참조하세요
step4) 만약 24bit가 아니라면?
BASE64 인코딩은 항상 24bit 단위로 수행합니다.
그래서 남는 비트가 생기면 남은 bit를 0으로 패딩합니다.
모든 bit가 0인 6bit 문자는 '=' 으로 치환됩니다.
암호화 공부하다가 옆길로 샜어... ㅠ.ㅠ
오늘도 이렇게 날리는 구나...
출처 :http://blog.naver.com/xxrcn11?Redirect=Log&logNo=20134786143
'UP! > Crypto' 카테고리의 다른 글
패스워드 기반 암호화 (0) | 2015.11.05 |
---|---|
JCA, JCE (0) | 2015.11.05 |
인증, 전자서명 (0) | 2015.11.05 |
대칭 비대칭 암호화 (0) | 2015.11.05 |
블록 Padding (0) | 2015.11.05 |