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批量生成本地ip地址的方法
Mar 23 Python
python中for语句简单遍历数据的方法
May 07 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
python SVM 线性分类模型的实现
Jul 19 Python
python基础 range的用法解析
Aug 23 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
python如何获取网络数据
Apr 11 Python
Pandas 数据编码的十种方法
Apr 20 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 常用的header头部定义汇总
2015/06/19 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
JavaScript 事件查询综合
2009/07/13 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
Pandas的数据过滤实现
2021/01/15 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
偷看我的初中毕业鉴定
2014/01/29 职场文书
中考冲刺决心书
2014/03/11 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
财务会计求职信范文
2015/03/20 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL