本文实例讲述了Python实现的文本简单可逆加密算法。分享给大家供大家参考,具体如下:

其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加1)
这样就实现了文本的加密操作,解密就是其逆运算
# -*-coding:utf-8 -*-
import sys
reload(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)
所以本代码只适用于新手练习,而不能作为真正的处理算法
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
MD5在线加密工具:
http://tools./password/CreateMD5Password
迅雷、快车、旋风URL加密/解密工具:
http://tools./password/urlrethunder
在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools./password/sha_encode
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 文本
# 可逆
# 加密算法
# Python实现ElGamal加密算法的示例代码
# Python实现常见的几种加密算法(MD5
# SHA-1
# HMAC
# DES/AES
# RSA和ECC)
# python实现换位加密算法的示例
# Python实现的HMacMD5加密算法示例
# Python使用MD5加密算法对字符串进行加密操作示例
# Python实现的rsa加密算法详解
# Python md5与sha1加密算法用法分析
# python实现的DES加密算法和3DES加密算法实例
# python使用rsa加密算法模块模拟新浪微博登录
# Python 实现国产SM3加密算法的示例代码
# 加密工具
# 感兴趣
# 可以通过
# 操作技巧
# 进阶
# 相关内容
# 还可以
# 最重要
# 适用于
# 数据结构
# 给大家
# 请输入
# 做一个
# 更多关于
# 很方便
# 所述
# 程序设计
# 如你
# 使用技巧
# 其实很简单
相关文章:
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
模具网站制作流程,如何找模具客户?
如何安全更换建站之星模板并保留数据?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何零基础开发自助建站系统?完整教程解析
如何在阿里云部署织梦网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
Java解压缩zip - 解压缩多个文件或文件夹实例
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
,购物网站怎么盈利呢?
建站主机是否等同于虚拟主机?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
如何用已有域名快速搭建网站?
seo网站制作优化,网站SEO优化步骤有哪些?
如何做网站制作流程,*游戏网站怎么搭建?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
制作表格网站有哪些,线上表格怎么弄?
建站上市公司网站建设方案与SEO优化服务定制指南
如何在建站之星绑定自定义域名?
建站之星如何通过成品分离优化网站效率?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
,有什么在线背英语单词效率比较高的网站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何自定义建站之星网站的导航菜单样式?
魔方云NAT建站如何实现端口转发?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何通过老薛主机一键快速建站?
建站之星导航菜单设置与功能模块配置全攻略
如何用西部建站助手快速创建专业网站?
建站10G流量真的够用吗?如何应对访问高峰?
如何实现建站之星域名转发设置?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
小型网站建站如何选择虚拟主机?
建站之星代理如何优化在线客服效率?
香港网站服务器数量如何影响SEO优化效果?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何在Windows环境下新建FTP站点并设置权限?
如何快速生成凡客建站的专业级图册?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
详解jQuery中基本的动画方法
小程序网站制作需要准备什么资料,如何制作小程序?
如何高效配置IIS服务器搭建网站?
Python文件管理规范_工程实践说明【指导】
建站之星2.7模板快速切换与批量管理功能操作指南
存储型VPS适合搭建中小型网站吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。