Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【说站】凯撒密码python编程简单

【说站】凯撒密码python编程简单

作者头像
很酷的站长
发布于 2022-11-23 08:24:43
发布于 2022-11-23 08:24:43
1K00
代码可运行
举报
运行总次数:0
代码可运行

凯撒密码python编程简单

1、说明

凯撒密码是古罗马凯撒大帝为了解密军事情报而使用的算法。将信息中的每个英语文字循环替换为文字表序列中的第三个字符。有一套专门的字母表对应关系。

2、注意

密文是大写字母,在变换加密之前把明文字母都替换为大写字母。

如果是加密,输出的密文是大写字母,如果是解密,按照凯撒解密后,转换为小写后,输出解密后的明文。

3、实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from string import ascii_lowercase
s=input()  # 输入一个字符串s
str1=''    # 声明一个字符串str1并赋值''
for i in s:  # 遍历s,我改了下源代码,这个更方便
    if i in ascii_lowercase:  # 如果i是小写字母,string.ascii_lowercase直接对应从a到z的字符串
        temp=ord(i)    # 获取i对应的ascii码
        num=(temp-97+3)%26  # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c
        str1=chr(num+97)  # ascii码a是从97开始的,所以上一步要-97,这一步要+97
        print(str1,end="")  # 显示结果
    else:
        print(" ",end="")  # 如果不是小写字母,则直接打印空白
 
 
# 如果s的长度特别长,每次都从a-z长度的字符串里找效率不是很高,可以试试以下代码,所有功能都一样
s=input()  # 输入一个字符串s
str1=''    # 声明一个字符串str1并赋值''
for i in s:  # 遍历s,我改了下源代码,这个更方便
    temp=ord(i)    # 获取i对应的ascii码
    if 97<=temp<=122 :  # 如果i是小写字母, 因为字母a的ascii码就是97,z的ascii码是122
        num=(temp -94)%26  # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c
        str1=chr(num+97)
        print(str1,end="")  # 显示结果
    else:
        print(" ",end="")  # 如果不是小写字母,则直接打印空白

以上就是凯撒密码python编程简单的介绍,相信大家已经对凯撒密码有了初步的了解,学会后赶快动手试试吧。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言中大小写字母转换详解
首先,让我们了解一下为什么需要在编程中进行大小写字母的转换。在很多情况下,我们需要比较字符串或进行其他操作时,字母的大小写可能会导致不匹配的问题。为了解决这个问题,C语言提供了一些函数来帮助我们进行大小写转换。
繁依Fanyi
2024/02/06
7820
[781]python去除字符串中开头|结尾|所有字母、数字
参考:https://blog.csdn.net/qq_25792799/article/details/80322889 https://blog.csdn.net/qq_40771567/article/details/86561158 https://www.cnblogs.com/pyse/p/9847812.html http://dy.163.com/v2/article/detail/DMA5CHFN0511RVML.html
周小董
2020/04/08
3.2K0
BUUCTF-crypto题
打开文件获得md5加密内容,直接到在线网站https://cmd5.com/ 解密得到flag
R0A1NG
2022/02/19
2.3K0
BUUCTF-crypto题
C++系列-第1章顺序结构-9-字符类型char
在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/
IT从业者张某某
2024/01/20
3470
C++系列-第1章顺序结构-9-字符类型char
一个简单的加密算法
凯撒加密是一种简单的加密技术。据记载,这是凯撒大帝曾经用来对军事信息进行加密的方法。
老肥码码码
2020/01/17
1.4K0
一个简单的加密算法
BUU-Crypto-第二章
好耶,排名涨到12000+了,就做了十道题就涨了近4000名,瞬间信心就上来了,同时也说明一个问题,绝大多数萌新就在一开始就放弃了,但是如果能静下心来,慢慢钻研,就能有所突破。
Baige
2022/03/22
6640
BUU-Crypto-第二章
Python3 生成一个随机验证码
定义一个范围只有1,2,3的随机数,如果这个随机数是1,则八位验证码的当前位置用大写字母;
py3study
2020/01/03
7450
Python编程 基础练习(二)
文章目录 1. 随机生成由2个大写字母(前2位)+2个小写字母(第3、4位)+4个数字(第5-8位)组成的密码(字符串) import random # 大写字母的ASCII码范围 a = [chr(i) for i in range(65, 91)] # 小写字母的ASCII码范围 b = [chr(j) for j in range(97, 123)] # 数字 c = [k for k in range(0, 10)] s = "" for x in range(1, 9): # 前两位 大
叶庭云
2020/09/17
7900
关于自己创建一个函数实现大小写字母之间的转换。
在C语言中,我们常用ASCII码来表示字母或其他字符,AASCII码是一种用于文本通信的字符编码标准,其中包含了128个字符,包括大小写字母,数字和一些字符,
用户11036582
2024/03/21
2850
c++ | lwketh | day02
#include <vector> #include <iostream> using namespace std; template<class T> void _print(T arg) { cout << arg << " "; } template<class... Args> void log(Args... args) { int arr[] = { (_print(args), 0)... }; cout << endl; } // 作业正式开始 // /
李朝
2021/07/28
2740
c++ | lwketh | day02
Python字符串(str)功能详细分析
#注意:在Python中,使用+。只能是字符串和字符串之间,和其他数据类型使用的话不支持,其他类型运算要求也是一样,都要求是相同的数据类型
用户7886150
2021/01/11
6700
字符函数和字符串函数
C语言有一些列函数用于对不同的字符进行分类,一个字符属于何种类型。以下函数都需要包含头文件 ctype.h。
技匠晓晨
2024/11/26
1830
字符函数和字符串函数
【C语言 字符函数和字符串函数】—— 文本数据的奇幻加工坊,代码世界的魔法编织者
在学习字符和字符串函数之前,我们先认识一下ASCLL码,ASCII 编码是字符处理的基础,了解其规则对编程非常重要!
换一颗红豆
2024/12/23
3920
【C语言 字符函数和字符串函数】—— 文本数据的奇幻加工坊,代码世界的魔法编织者
密码学实验报告
怎么说呢,我的同学们都在用C,就我在拿python写这东西,这一部分我以前用python完成过,2-1是经典单表替代密码,2-2是经典的凯撒密码,这都是很经典的密码术,前人的智慧,在这次写脚本解决的时候,都可以用暴力解决。
十二惊惶
2024/02/28
2080
【C语言】五种方法实现C语言中大小写字母的转化
返回值: 返回转换后的小写字符。如果c不是一个字母,则返回原值c。 返回值类型为int,这是为了能够返回任何可能的字符值。
学习起来吧
2024/03/16
2.8K0
【C语言】五种方法实现C语言中大小写字母的转化
C语言从入门到实战——常用字符函数和字符串函数的了解和模拟实现
字符函数是用来处理单个字符的函数,比如查找、替换、转换大小写、比较等操作。常用的字符函数包括:
鲜于言悠
2024/03/20
2780
C语言从入门到实战——常用字符函数和字符串函数的了解和模拟实现
凯撒密码加解密及破解实现原理
概念及原理 根据百度百科上的解释,凯撒密码是一种古老的加密算法。 密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。这是一种简单的加密方法,这种密码的密度是很低的,只需简单地统计字频就可以破译。 现今又叫“移位密码”,只不过移动的为数不一定是3位而已。 密码术可以大致别分为两种,即易
Angel_Kitty
2018/04/08
2.6K0
凯撒密码加解密及破解实现原理
经典 | Python实例小挑战—Part five
本系列推文,我们每期将对五个Python实例小项目进行介绍,每天三分钟,由浅入深,由易到难,让各位读者渐渐爱上这门神奇的编程语言,掌握它并且能够在生活中使用它。
潘永斌
2020/06/16
5010
c语言每日一练(6)
A、 测字符数组ch的长度 B、 将数字字符串ch转换成十进制数 C、 将字符数组ch中的小写字母转换成大写 D、 将字符数组ch中的大写字母转换成小写
大海里的番茄
2024/01/19
1520
c语言每日一练(6)
凯撒加密算法(最简单的对称加密)
凯撒算法 概述 凯撒密码是罗马扩张时期朱利斯• 凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。例如如果向右移动 2 位,则 字母
java404
2018/05/18
7.8K0
相关推荐
C语言中大小写字母转换详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档