内容
利用置换加密法对整个文件加密或解密操作。这种文件只包含文本文数据,扩展名为.txt的文件。
代码
import math
#---------------置换表----------------#
letter_1 = ''
letter_2 = ''
letter_message = ''
letter_password = ''
# 代换表一
piw = input("input letter1:")
for i in piw:
if 'a' <= i <= 'z':
letter_1 += chr(ord(i))
print("letter1:"+letter_1)
# 代换表二
piw2 = input("input letter2:")
for i in piw2:
if 'a' <= i <= 'z':
letter_2 += chr(ord(i))
print("letter2:"+letter_2)
letter_1 = list(letter_1)
letter_2 = list(letter_2)
#加密
def encryption():
# message = input("input message:")
file = open('jiami.txt','r')
message = file.readline()
file.close()
letter_message = list(message)
letter_password = ''
for i in letter_message:
if i.isalpha() == False:
letter_password += j
for j in letter_1:
if i == j:
letter_password += letter_2[letter_1.index(j)]
# print("letter_password :"+letter_password)
flie2 = open('result.txt','w')
flie2.write(letter_password)
flie2.close()
# 解密
def decryption():
# message = input("input message:")
file = open('jiemi.txt','r')
message = file.readline()
file.close()
letter_message = list(message)
letter_password = ''
for i in letter_message:
if i.isalpha() == False:
letter_password += j
for j in letter_2:
if i == j:
letter_password += letter_1[letter_2.index(j)]
# print("letter_password :"+letter_password)
flie2 = open('result.txt','w')
flie2.write(letter_password)
flie2.close()
while True:
print (u"1. encryption")
print(u"2. decryption")
choice = int(input("please input choice:"))
# 开始加解密
if choice == 1:
encryption()
elif choice == 2:
decryption()
else: print (u"Your input is wrong!")
运行结果
加解密文件:
加解密操作: