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按行读取文件的简单实现方法
Jun 22 Python
python操作 hbase 数据的方法
Dec 18 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
python下载图片实现方法(超简单)
Jul 21 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
logging level级别介绍
Feb 21 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
python异步Web框架sanic的实现
Apr 27 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
详解Python yaml模块
Sep 23 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常用技术文之文件操作和目录操作总结
2014/09/27 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python制作简易注册登录系统
2016/12/15 Python
python实现名片管理器的示例代码
2019/12/17 Python
python基于event实现线程间通信控制
2020/01/13 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
python求解汉诺塔游戏
2020/07/09 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
留学生如何写好自荐信
2013/12/27 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫