栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python——文本简单可逆加密

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python——文本简单可逆加密

其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加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'))breakexcept: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+passwordc=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'))breakexcept: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-passwordc=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)

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/222243.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号