1. 凯撒加密算法的原理是,把明文中每个英文字母替换为该字母在字母表中后面第k个字母,如果后面第k个字符超出字母表的范围,则把字母表首尾相接,也就是字母Z的下一个字母是A,字母z的下一个字母是a。要求明文中的大写字母和小写字母分别进行处理,大写字母加密后仍为大写字母,小写字母加密后仍为小写字母。凯撒加密算法是一种经典加密算法,虽然抗攻击能力非常弱,现在也没有很好的应用价值了,但其中的思路还是值得借鉴的。
  2. 根据上面编写程序,输入一个字符串作为待加密的明文,然后输入一个整数作为凯撒加密算法的密钥,最后输出该字符串使用该密钥加密后的结果。
from string import ascii_letters, ascii_lowercase, ascii_uppercase
def kaisaEncrypt(text, k):# 凯撒加密lower = ascii_lowercase[k:] + ascii_lowercase[:k]upper = ascii_uppercase[k:] + ascii_uppercase[:k]table = ''.maketrans(ascii_letters, lower+upper)return text.translate(table)
s = "Python is a great programming language. I like it!"
print(kaisaEncrypt(s, 5))
#输出结果为:
Udymts nx f lwjfy uwtlwfrrnsl qfslzflj. N qnpj ny!

Python字符串实现凯撒加密相关推荐

  1. Python暴力破解凯撒加密的文本

    凯撒加密是一种经典加密算法,把文本中的每个英文字母替换为字母表中后面第k个字母.该加密算法的抗攻击能力比较弱,因为密钥(也就是k)的取值范围是固定的,很容易暴力破解.当然,也可以利用英文的统计特性(例 ...

  2. Python 简单的凯撒加密

    凯撒加密(Caesar Code)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k.举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d:b会被替换成 ...

  3. python凯撒密码加密写入文件_Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作...

    #-*- coding: gb2312 -*-#用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作#作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/k ...

  4. python 实现凯撒加密

    凯撒密码(Caesar)基本原理 字母表一共有26个英文字母,加密时,我们需要将某个明文字母做N位偏移得到密文,这个N最多为26,而且偏移为26时和偏移为0时一样,明文和密文对应相等,实际上可以说最大 ...

  5. python凯撒加密代码_解密题(凯撒密码)

    在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...

  6. 凯撒加密的python语言程序_Python的凯撒密码加密为啥要ord(a),然后又减去?...

    当p为字母z时,试一下直接ord(p)+3就知道啦. 我假设老哥你已经懂了python语法,我就只讲讲凯撒加密.凯撒加密说白了就是偏移字母的位置,将原来的字母用它之后的第x个字母来代替原来的字母进行加 ...

  7. python 凯撒加密 计算偏移量

    接收一个字符串method为参数,根据参数值调用不同函数实现对文本的加密和解密. method 值为 '统计字符'时,统计并输出文本中不同类型字符的数量并输出. method 值为 '统计单词'时,统 ...

  8. Python之凯撒加密

    凯撒加密介绍 在密码学中,恺撒密码是一种最简单且最广为人知的加密技术. 它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文. 例,当偏移量是3的时 ...

  9. 凯撒加密 Python实现

    在密码学中,凯撒密码(英语:Caesar cipher),或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在上向后(或向前)按照一个固定 ...

最新文章

  1. golang内置类型和函数
  2. 连接SQLite 创建ADO.net实体类
  3. iOS - OC Foundation 框架
  4. OpenCV行人检测
  5. 妙笔生花:一个易用、高效的文本生成开源库
  6. webService学习3:客户端生成webservice代码
  7. MongoDB缓存技术总结
  8. python turtle绕原点旋转_「加德老师与小朋友们的编程之旅」Python海龟作图(上)
  9. 万字长文丨大白话带你由浅入深Python编程语言
  10. win10怎么进入修复计算机,Win10怎么进入安全模式以及Win10:使用Windows恢复环境轻松修复...
  11. 小麦苗的常用代码--常用命令(仅限自己使用)--上
  12. mysql中+desc用法_mysql desc(DESCRIBE)命令实例讲解
  13. java期刊影响因子_[转]计算机类中文核心期刊影响因子
  14. 大厂面试必考题:三行布局之圣杯布局和双飞翼布局的区别
  15. 百度坐标转WGS84
  16. Android相关简述题
  17. Java并发编程实战(学习笔记十 第十一章 性能与可伸缩性)
  18. 欧洲十大电动摩托车市场-Part one
  19. html判断是否为ie浏览器,js判断IE浏览器(包括IE11)
  20. 【转载】犀利哥:无法犀利的人生

热门文章

  1. 兼容性问题解决方案汇总(持续更新,欢迎收藏!)
  2. MM配置:评估范围、评估控制、评估范围分组,评估类,移动类型的科目分组,自动记账配置
  3. 计算机网络中各层有哪些协议?这些协议的作用?
  4. firfox新标签页打开的设置与优化
  5. 爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片
  6. win10玩我的世界java_windows10系统玩我的世界闪退如何处理
  7. Human Knowledge Belongs to The World2!(升级版)
  8. YOLO v1学习笔记
  9. i3处理器_配酷睿十代i3-10100,不足3000元的迷你电脑值得买吗
  10. 编写一个程序,输入若干个整数,以-1标记为结束,输出其中的最大值和最小值。