凯撒加密解密(python)
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
# 加密脚本
str = input("请输入明文:")
k = int(input("请输入位移量:"))for i in range(len(str)): #遍历明文if ord(str[i]) >= ord('a') and ord(str[i]) <= ord('z'): #对取出的明文字符判断大小写print(chr((ord(str[i])+ k - ord('a')) % 26 + ord('a') ),end='') #先转换成ascii码,然后加密elif ord(str[i]) >= ord('A') and ord(str[i]) <= ord('Z'):print(chr((ord(str[i])+ k-ord('A')) % 26 + ord('A') ),end='')else:print(str[i],end='')
# 解密脚本
str = input("请输入明文:")
k = int(input("请输入位移量:"))for i in range(len(str)):if ord(str[i]) >= ord('a') and ord(str[i]) <= ord('d'):print(chr((ord(str[i])- k - ord('a')) % 26 + ord('a') ),end='')elif ord(str[i]) >= ord('A') and ord(str[i]) <= ord('Z'):print(chr((ord(str[i])- k -ord('A')) % 26 + ord('A') ),end='')else:print(str[i],end='')
凯撒加密解密(python)相关推荐
- php 凯撒加密解密,PHP脚本实现凯撒加(解)密
今天在看某ctf时候遇到一题凯撒加密的题,然后看到write up里有这样一句 顿时感觉这题目有点坑啊,这要不写个脚本来跑要推到啥时候啊,于是又了本文: $text=" the text & ...
- php凯撒密码解密,凯撒加密解密.py
# -*- coding: utf-8 -*- class CaesarCipher(object): """ 凯撒加密解密 """ def ...
- 凯撒加密的python语言程序_python实现凯撒密码、凯撒加解密算法
凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果 注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母 def casar(message): # *************begin* ...
- C语言凯撒密码字母向后偏移三位,凯撒加密解密(java字母移位)
1.设计思想:加密就是将字符数据转化为ASC码表中的数字,a-w之间通过加3之后再转化为字符型输出,x-z之间通过转化为ASC码表中的数字后减去23再转化为字符型输出.解密就是将字符数据转化为ASC码 ...
- 凯撒加密的python语言程序_Python的凯撒密码加密为啥要ord(a),然后又减去?...
当p为字母z时,试一下直接ord(p)+3就知道啦. 我假设老哥你已经懂了python语法,我就只讲讲凯撒加密.凯撒加密说白了就是偏移字母的位置,将原来的字母用它之后的第x个字母来代替原来的字母进行加 ...
- 密码学之凯撒加密解密算法
在密码学中,凯撒(Caeser)密码(或称恺撒加密.恺撒变换.变换加密)是一种最简单且最广为人知的加密技术.它是一种替换加密的技术. 这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行 ...
- 凯撒加密的python语言程序_凯是什么意思 凯字五行属什么
凯字取名属性及五行属什么: 凯字的拼音:kai 凯的繁体字:凱(若无繁体,则显示本字) 凯字的起名笔画数:12 凯五行属什么:木 凯字的取名数理吉凶:吉 凯是否为姓氏:是 说明:"凯&quo ...
- 简单移位密码——凯撒加密、解密算法
简单移位密码--凯撒加密.解密算法 移位密码是简单的替换密码(simple substitution cipher),即将明文的一个字符用相应的一个密文字符替换. 算法描述:设P=C=K=Z26,对k ...
- python凯撒加密代码_解密题(凯撒密码)
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...
最新文章
- Postman 最被低估的功能!
- VTK:AnatomicalOrientation解剖定位用法实战
- linux php 版本切换,linux更换PHP版本,多个PHP版本切换
- RocketMQ(二)——系统架构及基本知识
- SAP License:雾里看花系列——做管理还要懂SAP吗?
- 设计模式学习笔记之代理模式
- linux全盘备份命令,Linux系统磁盘分区备份的操作
- 攻击防御实例——SQL注入
- 可以联机的的单机游戏
- 屏幕录像大师如何把LXE文件转换为EXE文件
- 微信小程序 实现简单倒计时功能
- Gabor滤波器详解
- flowchart流程图编程语言下载_FlowChart.Net下载
- 米斯齐超声波传感器显示测量距离(oled)内附Arduino代码
- navicat ssh postgresql 报错:no password supplied
- 网站接入服务器必须备案吗,服务器和域名必须备案吗
- python|简单实现英文单词大小写转化
- 疫情汹涌,餐饮行业如何修炼内功科学选址?——市场趋势及数据洞察篇
- ViewPager+Fragment刷新更新Fragment
- 用Delphi自制英语复读机
热门文章
- springboot毕设项目仓库管理oni4h(java+VUE+Mybatis+Maven+Mysql)
- 关联规则挖掘——Apriori算法的基本原理以及改进
- Python 二维码的读取与生成:使用链接生成二维码、读取二维码里的链接
- 温敏性N-异丙基丙烯酰胺(NIPA)和pH敏感性丙烯酸(AA)接枝纳米聚苯乙烯微球相关研究
- JavaScript window对象常用方法
- 3ds Max 实验五 二维图形修改器的综合应用
- Easyx实现png透明贴图的两种方法(无需掩码图)
- java addall的用法_Java Collections addAll()用法及代码示例
- 从零开始学习Java设计模式 | 软件设计原则篇:接口隔离原则
- 学渣考深大计算机,深圳大学好不好?为什么有人说是二本?