在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

# 凯撒密码
ptxt = input("请输入加密文本:")
for p in ptxt:if 'a' <= p <= 'z':print(chr(ord('a') + (ord(p) - ord('a') + 3) % 26), end='')elif 'A' <= p <= 'Z':print(chr(ord('A') + (ord(p) - ord('A') + 3) % 26), end='')else:print(p, end='')# 解密
print()
password = input("请输入密文:")
for p in password:if 'a' <= p <= 'z':print(chr(ord('a') + (ord(p) - ord('a') - 3) % 26), end='')elif 'A' <= p <= 'Z':print(chr(ord('A') + (ord(p) - ord('A') - 3) % 26), end='')else:print(p, end='')

凯撒密码(Caesar)加密解密算法Python实现相关推荐

  1. 凯撒密码的加密解密算法实现

    用C++实现凯撒密码的加密解密算法 在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术. 它是一种替换加密的技术,明文中的所 ...

  2. 凯撒密码(Caesar)

    凯撒密码(Caesar) 加密对象: 大小写字母 原理: 是一种移位加密方法,给每个字母排个索引,字母a-z索引依次为0-25 偏移量是多少就向后面移动多少 如:密文"Abc",偏 ...

  3. python编写凯撒密码的加密函数_python实现 古典密码 凯撒密码的加密与解密

    python实现 古典密码 凯撒密码的加密与解密 实现效果如下图: # 凯撒密码加密与解密 # author Sundm string = ['a','b','c','d','e','f','g',' ...

  4. 凯撒密码的加密,破解,以及暴力破解法

    凯撒密码的加密 #include <stdio.h>int main() { char a[80],b[80];//a为原码,b为加密 int i,k; scanf("%d&qu ...

  5. Python实现凯撒密码的加密与解密

    在密码学中,我们把想要加密的消息叫做明文(plain text).把明文转换成加密后的消息叫做对明文加密(encrypting),明文加密后变成(cipher text). 凯撒密码的密钥是1到26之 ...

  6. 凯撒密码c++语言程序,凯撒密码(加密与解密)

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /******************************************** ...

  7. 凯撒密码(加密与解密)

    /************************************************************************/ /*caeser.c /* 凯撒密码是把明文字符按 ...

  8. 【Matlab学习】凯撒密码Caesar‘s cypher

    简介 凯撒密码是历史上已知最早的密码之一.凯撒密码中的每个字母在字母表中"移动"了一定的位置.例如,如果密码为1,则A将替换为B,B将替换为C,依此类推.相传最早是凯撒大帝用来和将 ...

  9. 如何计算维吉尼亚密码?Java实现维吉尼亚密码的加密解密算法

    文章目录 如何计算维吉尼亚密码? Java实现加密算法 Java实现解密算法 参考博客 如何计算维吉尼亚密码? 计算维吉尼亚密码有2种方式,一种是根据密码表查找,另一种是手动计算方法. 1.密码表查找 ...

最新文章

  1. 写markdown用于Github上readme.md文件
  2. springboot使用restTemplate post提交值 restTemplate post值
  3. uvalive4840(n*n方阵的最小花费)
  4. .NET CORE编写控制台程序应有的优雅姿势(转载)
  5. 《C++必知必会》读书笔记2
  6. Hibernate 拦截器的使用--动态表名
  7. 做产品:光有换位思考还不够
  8. linux硬连接脚本,linux 硬链接和软链接深入理解
  9. 树视图的属性与方法 c# 1614262746
  10. css 类别选择器 并集,CSS常用选择器
  11. MongoDB 使用Index
  12. Java基础篇--编程之路,道长且艰,千里之行,始于足下
  13. 46泰勒中值定理的常规证明
  14. 法制博览杂志法制博览杂志社法制博览编辑部2022年第24期目录
  15. Crackme001-Acid_burn(IDA版本)
  16. PayPal接口开发
  17. 今天的学生要做汤饭吗
  18. Using mysqldump for backups
  19. 【干货】BIOS、UEFI、MBR、GPT、GRUB 到底是什么意思?
  20. DL之DSSD:DSSD算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

热门文章

  1. 共识算法-DPoS(股份授权证明)算法
  2. 如何从零开始学做互联网运营?
  3. python邮件定时发送短信_python实现自动定时给女朋友发手机短信,每天一个笑话!...
  4. 前端案例二:新浪首页标题栏制作
  5. Linux 设置秘钥登录
  6. WeGame登录卡死死机无法打开任务管理器只能强制重启的解决方案
  7. python程序分析_如何分析Python脚本?
  8. 阿里云域名注册的巨大“隐蔽角落” - 域名赎回
  9. 【零基础学STM32】CubeMx+HAL配置按键点灯实验
  10. Siemens Simcenter FloEFD 2021.1.0 v5312 for Catia V5