기본 콘텐츠로 건너뛰기

1월, 2015의 게시물 표시

urlencoder

url인코딩 base64 와 마찬가지로 문자열을 인코딩하여 전송하는 방법이며, 키도 없으므로 암호화가아니다. 이름처럼 url을 인코딩하는 목적으로 주로 사용한다. Class URLEncoder  (참조 oracle) Utility class for HTML form encoding. This class contains static methods for converting a String to the  application/x-www-form-urlencoded  MIME format. For more information about HTML form encoding, consult the HTML  specification . When encoding a String, the following rules apply: The alphanumeric characters " a " through " z ", " A " through " Z " and " 0 " through " 9 " remain the same. The special characters " . ", " - ", " * ", and " _ " remain the same. The space character "   " is converted into a plus sign " + ". All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string " % xy ", where  xy  is the two-digit

Base64

-  Base 64  (베이스 육십사)란 8비트 이진 데이터(예를 들어  실행 파일 이나,  ZIP  파일 등)를  문자 코드 에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는  인코딩  방식을 가리키는 개념 우선 암호화는 아니다. 암호화는 복호화가 가능한 상태가 유한적이어야 하나. base64의 경우 단순히 이진데이터를 아스키형태로 변환하여 데이터 전송시 문자인식 오작동으로 인한 문제가 발생하지 않게끔 방지하는것이 목적이다. 주로 메일 전송시 데이터를 byte스트림형태로 변환할때 많이 사용한다. - 방식 Text content M a n ASCII 77 97 110 Bit pattern 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 Index 19 22 5 46 Base64-Encoded T W F u base64에서 64는 2의 6승을 의미한다. 그래서 8비트의 문자형태를 6비트 형태로 변환을 하고,  6비트로 계산된 문자열을 아스키코드형태가 아닌  base64의 색인표에 적힌 64가지 문자를 이용하여 변환한다.  ex  대문자 'M' 은 아스키코드값이 77이다.  '77'을 2진수로 변환하면 0100 1101 이며,  이를 6비트로 다시 쪼개면  010 011 01...  여기서 마지막뒤에 '01'은 다음문자계산시 사용된다.  010 011 은 10진수로 변환하면 19이며  base64 색인표에서 19는 T 이다.  그래서 위처럼 Man은 Base64에의해 TWFu 로 변환된다. 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