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 相关文章推荐
Python中遇到的小问题及解决方法汇总
Jan 11 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python pygame模块编写飞机大战
Nov 20 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
python机器学习实现决策树
Nov 11 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
全网最全python库selenium自动化使用详细教程
Jan 12 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
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php文件上传的简单实例
2013/10/19 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
Element Input组件分析小结
2018/10/11 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python实现某论坛自动签到功能
2019/08/20 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
后勤主管工作职责
2013/12/07 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
计划生育目标责任书
2015/05/09 职场文书
2016年十一促销广告语
2016/01/28 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle