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 相关文章推荐
剖析Django中模版标签的解析与参数传递
Jul 21 Python
详解python eval函数的妙用
Nov 16 Python
如何在python中使用selenium的示例
Dec 26 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
python字符串下标与切片及使用方法
Feb 13 Python
Python使用ElementTree美化XML格式的操作
Mar 06 Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
python爬虫用mongodb的理由
Jul 28 Python
Python页面加载的等待方式总结
Feb 28 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
php whois查询API制作方法
2011/06/23 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
python制作小说爬虫实录
2017/08/14 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
英语道歉信范文
2014/01/09 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
卫校中专生的自我评价
2014/01/15 职场文书
工作失职检讨书范文
2014/01/16 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
勤俭节约主题班会
2015/08/13 职场文书
2015年度女工工作总结
2015/10/22 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
React forwardRef的使用方法及注意点
2021/06/13 Javascript