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 快速排序代码
Nov 23 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
python实现读取并显示图片的两种方法
Jan 13 Python
Python实现求笛卡尔乘积的方法
Sep 16 Python
Pycharm更换python解释器的方法
Oct 29 Python
Python实现的特征提取操作示例
Dec 03 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
Python 线性回归分析以及评价指标详解
Apr 02 Python
pygame实现弹球游戏
Apr 14 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 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
thinkphp中memcache的用法实例
2014/11/29 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
js创建对象的方式总结
2015/01/10 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
Python采用raw_input读取输入值的方法
2014/08/18 Python
快速入手Python字符编码
2016/08/03 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
python机器学习之神经网络(一)
2017/12/20 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
工程师岗位职责
2013/11/08 职场文书
文秘大学生求职信
2014/02/25 职场文书
美容院店长岗位职责
2014/04/08 职场文书
国旗下的演讲稿
2014/05/08 职场文书
应届大学生求职信
2014/07/20 职场文书
2014年保管员工作总结
2014/11/18 职场文书
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang