베이스64 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
6번째 줄: 6번째 줄:
 
== 특징 ==
 
== 특징 ==
 
Base 64라는 의미는 64진법이라는 의미이다. 화면에 표시되는 ASCII 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문인데, Base 64는 전자 메일을 통한 이진 데이터 전송에 많이 쓰이고 있고, 대개 처음 62두 개는 A-Z, a-z, 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이가 있다.<ref>민소네, 〈[http://a.to/19ZhhhT Base64 알고리즘]〉,《깃허브》, 2014-03-20  </ref>
 
Base 64라는 의미는 64진법이라는 의미이다. 화면에 표시되는 ASCII 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문인데, Base 64는 전자 메일을 통한 이진 데이터 전송에 많이 쓰이고 있고, 대개 처음 62두 개는 A-Z, a-z, 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이가 있다.<ref>민소네, 〈[http://a.to/19ZhhhT Base64 알고리즘]〉,《깃허브》, 2014-03-20  </ref>
'''인코딩(Encoding)'''
 
: 인코딩은 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말하고 동영상이나 이미지영역에서도 많이 사용되는 용어이다.
 
  
 
'''Base64 Encoding'''
 
'''Base64 Encoding'''
데이터를 Base 64로 인코딩하는 방법은 24bit 버퍼에 위쪽(MSB)부터 한 바이트씩 세 바이트를 집어넣고, 남은 바이트가 3바이트 미만이라면, 버퍼의 남은 부분은 0으로 채워 넣게 된다. 그리고, 버퍼의 위쪽부터 6비트씩 잘라 그 값을 읽어, 다음에 정렬된 64개 "ABCDEFGHIJKLMNOPQRSTUVWXYZa+/"의 문자 중에서 읽은 값 번째 문자를 골라 출력한다. 만약 입력된 바이트가 하나라면 출력 중 두 개만이 사용되고 나머지 둘은 "="으로 패딩 되며, 입력된 바이트가 둘이라면 출력 중 세 개 많이 사용되고 나머지 하나는 "="으로 패딩 되게 된다. 이것은 원본으로 되돌릴 때 원본에는 없던 비트가 생기는 것을 방지하기 위해 서 이고 입력 데이터가 끝날 때까지 반복하면 인코딩이 된다.<ref>과일가게 개발자, 〈[https://fruitdev.tistory.com/79 Base64 암호화, 복호화 방법]〉,《티스토리》, 2014-09-08  </ref> [[Binary Data]] 를 Text로 바꾸는 인코딩(binary-to-text encoding schemes)의 하나로서 Binary Data를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 Encoding이고, 베이스64를 글자 그대로 직역하면 [[64진법]] 이라는 뜻이다. 64진법은 컴퓨터에 특별한데 그 이유는 64가 2의 제곱수 64=2^6이며 2의 제곱수에 기반한 진법 중 화면에 표시되는 ASCII 문자들로 표시할 수 있는 가장 큰 진법이다. ASCII에는 제어문자가 다수 포함되어 있기 때문에 화면에 표시되는 ASCII 문자는 128개가 되지 않고, 핵심은 베이스64 인코딩은 Binary Data를 Text로 변경하는 인코딩이다. 변경하는 방식을 간략하게 설명하면 Binary Data를 6비트 씩 자른 뒤 6비트 에 해당하는 문자를 아래 베이스64 색인표에서 찾아 치환한다.
+
데이터를 Base 64로 인코딩하는 방법은 24bit 버퍼에 위쪽(MSB)부터 한 바이트씩 세 바이트를 집어넣고, 남은 바이트가 3바이트 미만이라면, 버퍼의 남은 부분은 0으로 채워 넣게 된다. 그리고, 버퍼의 위쪽부터 6비트씩 잘라 그 값을 읽어, 다음에 정렬된 64개 "ABCDEFGHIJKLMNOPQRSTUVWXYZa+/"의 문자 중에서 읽은 값 번째 문자를 골라 출력한다. 만약 입력된 바이트가 하나라면 출력 중 두 개만이 사용되고 나머지 둘은 "="으로 패딩 되며, 입력된 바이트가 둘이라면 출력 중 세 개 많이 사용되고 나머지 하나는 "="으로 패딩 되게 된다. 이것은 원본으로 되돌릴 때 원본에는 없던 비트가 생기는 것을 방지하기 위해 서 이고 입력 데이터가 끝날 때까지 반복하면 인코딩이 된다.<ref>과일가게 개발자, 〈[https://fruitdev.tistory.com/79 Base64 암호화, 복호화 방법]〉,《티스토리》, 2014-09-08  </ref>
 
* 2진 데이터를 ASCII 형태의 텍스트로 표현 가능하다.
 
* 2진 데이터를 ASCII 형태의 텍스트로 표현 가능하다.
 
* Web 인증 중 기본인증에 사용한다.
 
* Web 인증 중 기본인증에 사용한다.

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)