본문 바로가기

Base64. Decoder Encoder를 만든 것과 유사히 Decoder를 만들었다. 123456789101112131415161718192021222324252627282930import sysprint "\ndecoded String :", rf = open(sys.argv[1], "r")wf = open("Decoded-"+sys.argv[1], "w")lines = rf.readlines() base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"string = ""eibit = list() for line in lines: for char in line: if char != "=": value = format(base.find(char), 'b'.. 더보기
Base64. Encoder 몇 가지 함수를 이용해 BASE 64 Encoder를 제작했다. 123456789101112131415161718192021222324252627282930313233343536373839import sysprint "\nEncoded String :", rf = open(sys.argv[1], "r")wf = open("Encoded-"+sys.argv[1], "w")lines = rf.readlines() base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"string = ""sixbit = list() for line in lines: for char in line: value = format(ord(char), 'b').. 더보기
Base64. Base64. Base가 64라는 말그대로 64 = 26의 값으로 표현할 수 있게 변경해주는 코딩 방법이다. 만드는 방법은 변환될 대상 문자의 아스키코드 10진수 값을 2진수로 변경시켜 한 문자당 8bit로 표현된 문자를 쭉 연결한뒤 처음부터 다시 6bit씩 끊어서 'base64 table'의 값으로 치환하여 만든다. base64 table은 (26=) 64개의 문자로 표현할 수 있도록 되어있는데 (65번째 값 64는 Padding문자 '=' 이고) 0~63 값들의 정렬은 다음과 같다.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ Padding을 하는 방법은 (전체비트수 % 3)의 값의 수만큼 뒤에 =을 붙이는 것이다. 예시 :) 1... 더보기