Python实现的文本简单可逆加密算法示例


Posted in Python onMay 18, 2017

本文实例讲述了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)

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

Python 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
python实现异步回调机制代码分享
Jan 10 Python
python实现数通设备端口监控示例
Apr 02 Python
Python通过命令开启http.server服务器的方法
Nov 04 Python
对python中使用requests模块参数编码的不同处理方法
May 18 Python
python实现图片批量压缩程序
Jul 23 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
对于Python深浅拷贝的理解
Jul 29 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
详解Django中异步任务之django-celery
Nov 05 Python
python单例模式的应用场景实例讲解
Feb 24 Python
Python操作MongoDB详解及实例
May 18 #Python
Python 迭代器与生成器实例详解
May 18 #Python
Python字符串处理实例详解
May 18 #Python
Python进阶-函数默认参数(详解)
May 18 #Python
Python装饰器实现几类验证功能做法实例
May 18 #Python
如何用itertools解决无序排列组合的问题
May 18 #Python
详解使用python的logging模块在stdout输出的两种方法
May 17 #Python
You might like
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
Laravel 5 学习笔记
2015/03/06 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
javascript获取web应用根目录的方法
2014/02/12 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
Python实现包含min函数的栈
2016/04/29 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
使用Python实现简单的服务器功能
2017/08/25 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
python绘制条形图方法代码详解
2017/12/19 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
django中media媒体路径设置的步骤
2019/11/15 Python
python随机数分布random均匀分布实例
2019/11/27 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
卫校中专生的自我评价
2014/01/15 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书