|
发表于 2017-7-5 20:51:30
|
显示全部楼层
def jiami(clear_word,password):
list_cw = []
list_pw = []
for i in clear_word:
list_cw.append(ord(i))
for i in password:
list_pw.append(ord(i))
len_cw = len(clear_word)
len_pw = len(password)
vacant_list = []
for i in range(len_cw):
vacant_list.append(list_cw[i]^list_pw[i%len_pw])
return vacant_list
def jiemi(dirt_word,password):
list2_pw = []
for i in password:
list2_pw.append(ord(i))
len_dw = len(dirt_word)
len_pw = len(password)
vacant_list = []
for i in range(len_dw):
vacant_list.append(chr(int(dirt_word[i])^list2_pw[i%len_pw]))
return vacant_list
def output_miwen(miwen):
count = 0
for i in miwen:
if count<len(miwen)-1:
print(i,end = ',')
else:
print(i)
count+=1
def output_mingwen(mingwen):
for i in mingwen:
print(i,end = '')
def exchangelist(i):
vacant = []
for j in range(i):
while True:
num = input('请输入:')
if 0<=int(num)<=255:
vacant.append(num)
break
print('输入有误,请重新输入')
return vacant
print('你想加密还是解密?')
while True:
answer = input('我想:(加密/解密)')
if answer =='加密':
clear = input('请输入明文:')
word = input('请输入密匙:')
miwen = jiami(clear,word)
output_miwen(miwen)
break
elif answer == '解密':
num = int(input('你想输入多少位的密文?'))
dirt = exchangelist(num)
word = input('请输入密匙:')
mingwen = jiemi(dirt,word)
output_mingwen(mingwen)
break
else:
print('输入错误,请输入‘加密’或者‘解密’')
|
|