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代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
Python科学计算之Pandas详解
Jan 15 Python
python opencv实现运动检测
Jul 10 Python
Python反射和内置方法重写操作详解
Aug 27 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
Python3实现二叉树的最大深度
Sep 30 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
python如何控制进程或者线程的个数
Oct 16 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
python套接字socket通信
Apr 01 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制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
超级强大的表单验证
2006/06/26 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
Python标准库inspect的具体使用方法
2017/12/06 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python之语音识别speech模块
2020/09/09 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
安全责任书范文
2014/03/12 职场文书
劲霸男装广告词
2014/03/21 职场文书
租赁协议书范本
2014/04/22 职场文书
司法局火灾防控方案
2014/06/05 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
安全保证书怎么写
2015/02/28 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
计算机教师工作总结
2015/08/13 职场文书