提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

一、确定恺撒密码原理,用公式表示

二、子函数的确立

1.加密部分

2.解密部分

3.选择加密还是解密

三、确定各个子函数调用顺序以及完整代码

总结



前言

#随便写写,体验一下在csdn写文章#

第一篇blog为恺撒密码

一、确定恺撒密码原理,用公式表示

二、子函数的确立

1.加密部分

代码如下:

def Encryption():       #加密s = input("请输入需要加密的文字:\n")for i in s:c=''if 'a' <= i <= 'z':c += chr(ord('a') + (ord(i) - ord('a') + 3) % 26)print(c, end='')elif 'A' <= i <= 'Z':c += chr(ord('A') + (ord(i) - ord('A') + 3) % 26)print(c, end='')else:c += iprint(c, end='')

2.解密部分

代码如下:

def Deciphering():      #解密c,s = input("请输入需要解密的文字:\n"),''         #变量定义及函数返回值与上述的加密函数略微不同,自己练手时为了了解而做的for i in c:if 'a' <= i <= 'z':s += chr(ord('a') + (ord(i) - ord('a') - 3) % 26)elif 'A' <= i <= 'Z':s += chr(ord('A') + (ord(i) - ord('A') - 3) % 26)else:s += ireturn print(s)

3.选择加密还是解密

def Determination(d):       #决定要对字符串进行加密还是解密if d == 0:return Encryption()elif d == 1:return Deciphering()

三、确定各个子函数调用顺序以及完整代码

def Determination(d):       #决定要对字符串进行加密还是解密if d == 0:return Encryption()elif d == 1:return Deciphering()def Encryption():       #加密s = input("请输入需要加密的文字:\n")for i in s:c=''if 'a' <= i <= 'z':c += chr(ord('a') + (ord(i) - ord('a') + 3) % 26)print(c, end='')elif 'A' <= i <= 'Z':c += chr(ord('A') + (ord(i) - ord('A') + 3) % 26)print(c, end='')else:c += iprint(c, end='')def Deciphering():      #解密c,s = input("请输入需要解密的文字:\n"),''         #变量定义及函数返回值与上述的加密函数略微不同,自己练手时为了了解而做的for i in c:if 'a' <= i <= 'z':s += chr(ord('a') + (ord(i) - ord('a') - 3) % 26)elif 'A' <= i <= 'Z':s += chr(ord('A') + (ord(i) - ord('A') - 3) % 26)else:s += ireturn print(s)def main():         #开启整个程序的入口,启动第一步调用Determination函数print("仅限加解密英文字母")sel = eval(input("请选择加密或者解密模式(输入0为加密模式,输入1为解密模式):"))Determination(sel)main()

总结

注意定义变量时的位置与顺序;

核心两大环节——加密与解密最重要,可以单独拿出来调试;

决定加密、解密函数时注意返回值。

重点在于公式用程序语言表达。利用ord('a')或ord('A')限制26个字母的unicode编码码是从a(或A)字母开头的。


恺撒密码加解密程序(Python)相关推荐

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

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

  2. 凯撒密码加解密及破解实现原理

    概念及原理 根据百度百科上的解释,凯撒密码是一种古老的加密算法. 密码的使用最早可以追溯到古罗马时期,<高卢战记>有描述恺撒曾经使用密码来传递信息,即所谓的"恺撒密码" ...

  3. C语言实现凯撒密码加解密

    凯撒密码 加密即把a-z或A-Z的字母向后移动n个字符实现加密,若n=3的话,a对应d,z对应c,如此循环: 解密刚好和加密相反,加密向后移动的话解密就向前移动. 加密的C代码如下: #include ...

  4. python编写加密程序_python编写的维吉尼亚密码加解密程序

    维吉尼亚密码表 ============================================= #维吉尼亚密码 加密 key='helloworld' plaintext='whereis ...

  5. JavaScript实现恺撒密码加密/解密

    //仅限英文 // 加密 function encrypt(str, num) {var outStr = "";//循环处理字符串每一个字母for (let i = 0; i & ...

  6. Python基础编程入门实例:恺撒密码

    文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...

  7. 如何用最暴力的方法实现恺撒密码——python

    恺撒密码是一种最简单且最广为人知的加密技术. • 这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用 此方法与其将军们进行联系. •  它是一种替换加密的技术,明文中的所有字母都在字母表上向后 ...

  8. 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:

    题目: 恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下: 原文:A B C D ...

  9. Python练习:恺撒密码 I

    练习:恺撒密码 I 平台:Python123.io 教师:嵩天 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的 ...

最新文章

  1. [Scheduled Timer]第三回:事件存储(EventStorage)
  2. python编程django项目中ModuleNotFoundError: No module named ‘django.core.urlresolvers‘解决方法
  3. 《聚爆Implosion》性能精析:这是我们测过性能最棒的手游
  4. ansi编码_Java 字符编码
  5. 找出递增数组中所有相加为m的组合c语言,组合(1-m中选n个数)(示例代码)
  6. dataGrid点击显示数据到textBox
  7. java多线程-线程创建
  8. SQL 使用总结一( 规范、基础)
  9. 【2019-2020春学期】数据库作业16:第七章: 数据库设计
  10. SM2258XT量产工具教程,SM2258XT_Q0816A+B05 B16 B17的正确开卡步骤
  11. STM8S(stm8s003F) ADC AIN7的使用
  12. 阿里云大幅降低CDN价格网宿蓝汛跟不跟?
  13. Masonry自动布局详解五:比例(multipliedBy)
  14. Python-hrvanalysis库 挖掘心电信号特征 方法总结
  15. 如何下载B站视频以及音频
  16. VR全景购物,2022年的购物新方式
  17. Windows Server 下文件同步
  18. python系列之:socks.GeneralProxyError: Socket error: Connection closed unexpectedly
  19. #20 找出1-1000之间的完数
  20. JAVA 实现Excel导出下拉字符超出255字符(建议收藏!)

热门文章

  1. 快手[编程题]魔法深渊
  2. 立体视觉入门指南(4):相机标定之DLT直接线性变换【建议收藏】
  3. 如何用Python下载在线字典上的单词或者短语mp3
  4. 解析 Linux 中的 VFS 文件系统机制(1)
  5. Linux 的find命令用法
  6. [20170516]11G use_large_pages参数2.txt
  7. 华硕P4P800-VM声卡驱动问题
  8. 2019美研计算机录取,2019美研录取更新 | 哥伦比亚大学、芝加哥大学OFFER携手来袭...
  9. 串口服务器中文使用文档,MOXA_串口服务器中文使用文档
  10. 参加的CTO俱乐部活动集合