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访问sqlserver示例
Feb 10 Python
Python中字典的基础知识归纳小结
Aug 19 Python
详解Python中heapq模块的用法
Jun 28 Python
django中的setting最佳配置小结
Nov 21 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
redis之django-redis的简单缓存使用
Jun 07 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
解决python线程卡死的问题
Feb 18 Python
Python 3.8 新功能全解
Jul 25 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
详解python常用命令行选项与环境变量
Feb 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的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python简单实现获取当前时间
2016/08/27 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
python 动态调用函数实例解析
2019/10/21 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
django和flask哪个值得研究学习
2020/07/31 Python
Django多个app urls配置代码实例
2020/11/26 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
中介公司区域经理岗位职责范本
2014/03/02 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
工作收入证明范本
2015/06/12 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
分享几个实用的CSS代码块
2022/06/10 HTML / CSS