파이썬 암호화 코드 과정 질문
조회수 741회
import random
def addPadding(data):
if (len(data)%8 == 0):
return data
else:
return data.ljust(len(data) + (len(data) % 8), '0')
def makeBlock(data):
buf = []
for i in range(0,4):
sbuf = []
for j in range(0,8):
sbuf.append(ord(data[i*8+j]))
buf.append(sbuf)
return buf
if __name__ == "__main__":
f = open("./plain.txt", "r")
data = f.readline()
data = addPadding(data)
buf = makeBlock(data)
encrypt = ''
key1 = random.randint(0, 20)
key2 = random.randint(7, 21)
for i in range(0, 4):
k1 = key1
k2 = key2
sbuf = ''
for j in range(0, len(buf[i]), 2):
encrypt += chr(buf[i][j] - k1)
encrypt += chr(buf[i][j+1] + k2)
k1 += 1
k2 += 1
f = open("./encrypted.txt", "w")
f.write(encrypt.encode('hex').upper())
f.close()
이 코드의 암호화 과정이 어떻게 되는 건가요? 파이썬을 오랜만에 손대서 기억이 안 나네요.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력