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的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
python实现用户答题功能
Jan 17 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Java多线程实现四种方式原理详解
Jun 02 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
python3中TQDM库安装及使用详解
Nov 18 Python
python 批量将中文名转换为拼音
Feb 07 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开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
var与Javascript变量隐式声明
2009/09/17 Javascript
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
浅谈django的render函数的参数问题
2018/10/16 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
简单介绍python封装的基本知识
2019/08/10 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
公务员培训心得体会
2013/12/28 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
财产公证书样本
2014/04/04 职场文书
村居抓节水倡议书
2014/05/19 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
小学生安全责任书
2014/07/25 职场文书
酒会邀请函
2015/01/31 职场文书
高中运动会前导词
2015/07/20 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
创业计划书之宠物店
2019/09/19 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
nginx lua 操作 mysql
2022/05/15 Servers