python——文本简单可逆加密

来源:互联网 发布:代购淘宝描述模板 编辑:程序博客网 时间:2024/05/17 23:04

其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加1)

这样就实现了文本的加密操作,解密就是其逆运算

# -*-coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf8')#加密def jiami():    filename=raw_input('please input file:\n')    while True:        try:            password=int(raw_input('input number pass word:\n'))            break        except:            print 'please input number:\n'    fileword=open(filename,'r')    num=filename.rfind('.')    newfilename=filename[:num]+'[加密]'.encode('gbk')+filename[num:]                content=fileword.read(1)    newfileword=open(newfilename,'a+')    while len(content)>0:        contentInt=ord(content)        newContent=contentInt+password        c=chr(newContent)        newfileword.write(c)        content=fileword.read(1)                    newfileword.close()    fileword.close()#解密def jiemi():    filename=raw_input('please input file:\n')    while True:        try:            password=int(raw_input('input number pass word:\n'))            break        except:            print 'please input number:\n'    fileword=open(filename,'r')    num=filename.rfind('.')    num2=filename.rfind('[')    newfilename=filename[:num2]+'[解密]'.encode('gbk')+filename[num:]                content=fileword.read(1)    newfileword=open(newfilename,'a+')    while len(content)>0:        contentInt=ord(content)        newContent=contentInt-password        c=chr(newContent)        newfileword.write(c)        content=fileword.read(1)                    newfileword.close()    fileword.close()while True:    index=int(raw_input('---请输入命令,1为加密 2为解密 3为退出---\n'.encode('gbk')))    if index==1:        jiami()    elif index==2:        jiemi()    elif index==3:        exit(0)    else:        pass


注意:

①如果出现中文编码问题可以通过.encode,.decode编码解码

②可以通过python的切片操作处理文件名,很方便,例如: newfilename=filename[:num]+'[加密]'.encode('gbk')+filename[num:]

③最重要的!!本加密方法只是简单的给文本字符做一个+password处理,其方法非常不合理,因为加的数如果过大会造成chr字节不够(比如你输一个1000)

所以本代码只适用于新手练习,而不能作为真正的处理算法




1 0
原创粉丝点击