加密文件python

1) 写一个加密程序,对文件1txt进行加密。它从输入流中读入一个密钥,并将文件密文输出。采用下面的简单加密算法:
 1)读入密钥的key是一个字符串;
 2)明文中字符c的密文为c^key[i];
 3)循环使用key中的各个字符,直至处理完全部明文。如果key为空,则不作加密
4)解密时,用同一个key重新加密密文,就可以得到明文。
【输入形式】
从标准输入流中读入一个密钥串,使用其对当前目录下的文件1txt进行加密。
【输出形式】
将文件密文输出到文件2txt
【输入样例】
输入密钥为:

hello

1txt文件内容为

Alcatel provides end-to-end solutions.
It enables enterprises to deliver content to any type of user.

【输出样例】
输出密文到2txt文件中。
【样例说明】
从标准输入中读入一个密钥对文件1txt加密,并将文件密文输出到2txt文件中。
提示:可将得到的密文文件2txt拷贝到1txt文件中,并用原密钥对该文件再次加密,若得到的密文文件与原始文件相同,则说明程序算法正确。

接下是该问题的代码:

a = input()
b = ''
with open('1txt','r') as r :
    with open('2txt','w') as w:
        f = r.readlines()
        for l in f :
            j = 0
            for i in range(len(l)):
                b+=chr(ord(l[i])^ord(a[j])) #按位异或(^)加密
                j+=1
                if j>=len(a):
                    j=0
            w.write(b)

我采用的是按位异或的方法对文件进行加密,还可以用其他方式多种方式进行加密。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值