python实现移位加密和解密


Posted in Python onMarch 22, 2019

本文实例为大家分享了python实现移位加密和解密的具体代码,供大家参考,具体内容如下

代码很简单,就不多做解释啦。主要思路是将字符串转为Ascii码,将大小写字母分别移位密钥表示的位数,然后转回字符串。需要注意的是,当秘钥大于26的时候,我使用循环将其不断减去26,直到密钥等效小于26为止。

def encrypt():
  temp = raw_input("Please input your sentence: ")
  key = int(raw_input("Please input your key: "))
  listA = map(ord,temp)
  lens = len(listA)
  for i in range(lens):
    a = listA[i]
    if 65 <= a <= 90:
      a += key
      while a > 90:
        a -= 26
    elif 97 <= a <= 122:
      a += key
      while a > 122:
        a -= 26
    listA[i] = a
  listA = map(chr,listA)
  listA = ''.join(listA)
  print listA


def unencrypt():
  temp = raw_input("Please input your sentence: ")
  key = int(raw_input("Please input your key: "))
  listA = map(ord, temp)
  lens = len(listA)

  for i in range(lens):
    a = listA[i]
    if 65 <= a <= 90:
      a -= key
      while a < 65:
        a += 26
    elif 97 <= a <= 122:
      a -= key
      while a < 97:
        a += 26
    listA[i] = a
  listA = map(chr, listA)
  listA = ''.join(listA)
  print listA


a = int(raw_input("input 0 to encrypt and 1 to unencrypt"))

if a == 0:
  encrypt()
elif a == 1:
  unencrypt()

效果

python实现移位加密和解密

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pycharm 使用心得(四)显示行号
Jun 05 Python
处理Python中的URLError异常的方法
Apr 30 Python
Python验证企业工商注册码
Oct 25 Python
Python语言实现获取主机名根据端口杀死进程
Mar 31 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
python运行其他程序的实现方法
Jul 14 Python
python对excel文档去重及求和的实例
Apr 18 Python
python使用turtle库绘制时钟
Mar 25 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
python异常触发及自定义异常类解析
Aug 06 Python
python利用faker库批量生成测试数据
Oct 15 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 Python
python实现可逆简单的加密算法
Mar 22 #Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 #Python
详解Python循环作用域与闭包
Mar 21 #Python
浅谈python之高阶函数和匿名函数
Mar 21 #Python
浅谈Python反射 &amp; 单例模式
Mar 21 #Python
详解Python中is和==的区别
Mar 21 #Python
浅谈Python的条件判断语句if/else语句
Mar 21 #Python
You might like
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php $_ENV为空的原因分析
2009/06/01 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
php常用数组函数实例小结
2016/12/29 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
javascript 获取图片颜色
2009/04/05 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
JS分页的实现(同步与异步)
2017/09/16 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
详解用python实现简单的遗传算法
2018/01/02 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
教师节主持词开场白
2015/05/29 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书