python应用_恺撒密码加密与解密
1.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。
2.ASCII表:
2.具体实现:
class Caesar:def __init__(self,a,b):#初始化,接受程序需要的类型self.pass1=aself.type1=bdef jiami(self,a):#加密的程序z=(ord(a)-97+self.pass1)%26+97#用ascii码值来完成移动return chr(z)def jiemi(self,a):#解密的程序z=(ord(a)-97-self.pass1)%26+97if z<97:z=z+26return chr(z)def show(self,x):#显示结果str=''if self.type1==0:#加密的时候进入for i in range (len(x)):x=x[:i]+self.jiami(x[i])+x[i+1:]for i in range (len(x)):str=str+x[i]print (str)else:#解密的时候进入for i in range (len(x)):x=x[:i]+self.jiemi(x[i])+x[i+1:]for i in range (len(x)):str=str+x[i]print (str)
if __name__=='__main__':#测试程序a=int(input('please input the pass (小于26!0:结束):'))while a:b=int(input('please input the type (0:加密;1:解密:)'))x=input('please input str:')user=Caesar(a,b)user.show(x)a=int(input('please input the pass (小于26!0:结束):'))
3.实验结果:
python应用_恺撒密码加密与解密相关推荐
- 5.3使用凯撒密码加密和解密英文文件python
1本关任务:使用凯撒密码加密和解密英文文件.具体要求如下: (1)接收一个字符串为参数,如果参数值为加密,要求用户输入一个要加密的文件名,再输入一个单词做为密钥发生器,用于计算偏移量,对文件中的内容进 ...
- Java版 凯撒密码 加密、解密、暴力破解
Java版 凯撒密码 加密.解密.暴力破解 用Java实现凯撒密码的 '加密' 和 '解密' 工作 代码实现如下: 代码片 package com.hellow.demo;import java.ut ...
- Python练习:恺撒密码 I
练习:恺撒密码 I 平台:Python123.io 教师:嵩天 描述 凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的 ...
- 凯撒密码加密、解密、暴力破解(C语言实现)
C语言设计,替换密码开发设计,2022年9月信息安全课程作业分享 #include<stdio.h> #include<string.h> #include<stdlib ...
- python实现凯撒密码加密与解密(暴力求解)
在密码学中,凯撒密码(英语:Caesar cipher),或称凯撒加密.凯撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一 ...
- python 维吉尼亚密码加密和解密
最近在学密码学,作业里面的加密解密看得脑壳疼,刚好寒假自学了一些python,第一反应就是用python帮我加解密. 菜菜的我写了好久,刚写完,然后同学告诉我维吉尼亚密码有专门的加密解密的库,我一下就 ...
- java 密码解密_【java密码加密与解密】
以下两个类可以很方便的完成字符串的加密和解密: 加密:CryptHelper.encrypt(password) 解密:CrypHelper.decrypt(password) 代码如下: Crypt ...
- python中凯撒密码加密_凯撒密码加密
您似乎是在交互式提示中输入此代码,而不是将其保存为文件并运行它.如果是这样,那么当您使用input时,窗口将在允许您继续输入代码之前提示您输入.在plainText = input("pyt ...
- python中凯撒密码加密_凯撒密码加密Python
有人能告诉我为什么我只对纯文本信息中的一个字符进行加密?消息是"船在午夜启航",加密密钥是4.我只能让t移到x,剩下的信息无法打印.我错过了什么?在#request the mes ...
- JavaScript实现恺撒密码加密/解密
//仅限英文 // 加密 function encrypt(str, num) {var outStr = "";//循环处理字符串每一个字母for (let i = 0; i & ...
最新文章
- java 泛型 t_Kotlin(2) 泛型与集合
- matlab多项式相乘的法则_卷积计算与多项式乘法
- Python装饰器执行顺序详解
- ITK:将ITK灰度图像转换为CV :: Mat
- 复权就是对股价和成交量进行权息修
- java 读写分离 mvc_spring MVC、mybatis配置读写分离
- MyEclipse快捷键两篇文章
- 简单模拟多线程Socket通信(java)
- linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
- 论文赏析[AAAI18]面向序列建模的元多任务学习
- SQL Server 修改AlwaysOn共享网络位置
- sphinx php 扩展安装
- 通过注册表修改键盘映射
- 城市大脑总体框架和主要平台
- 计算机基础中图文混排的重要性,浅谈项目教学在技校计算机应用基础中的应用.doc...
- BigDecimal,BigInteger 学习以及简单示例
- 保利威视播放器函数接口汇总
- 硬路由、软路由、主路由、旁路由对比分析
- 无线智能蓝牙追踪防丢器
- STOP 0X0000007B蓝屏故障处理一例