9.加密和解密文件

内容

利用置换加密法对整个文件加密或解密操作。这种文件只包含文本文数据,扩展名为.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!")


运行结果

加解密文件:
在这里插入图片描述
加解密操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值