py 二级习题(加密与解密)
题目:
1、比如说,我想 “我喜欢月月” 这句话加密即:将字符串中的每个字符的unicode值全都向后移动三位,即unicode 值加3,然后输出。
2、将按照上述规则加密的文字解密即:将字符串中的每个字符的unicode值全都向前减三。
#caesarencode programme while True:
txt = input("please type you word:") for i in txt:
if "a" <= i <="z":
#这是最关键的一步,通过对26取余数,可以再a-z,或者在A-Z,这26个英文字母中重复
print(chr(ord("a")+(ord(i)-ord("a")+3)%26),end = '')
elif "A"<= i <="Z":
print(chr(ord("A")+(ord(i)-ord("A")+3)%26),end = '')
else:
print(i,end = '') #anather way
txt = input("please input you number")
c = 0x4e00
di = {}
for i in range(20902): # 这也是加密的方法,用的是字典的方法,并且将你输入的每个文字,都转换成了对第一个中文字符的移动,当然这是对中文进行加密,中文的unicode 值范围在0x4e00-0x9fa5之间,一共有20902个文字,当然这里每个要加密的文字向后移动了10451个位置。
di[chr(c+i)] = chr((i+10451)%20902 + c) #将所有文字全部移动104521个位置,然后放在字典里,存起来。
print(len(di))
#对于输入的每个字符,从字典里去找。
for i in txt:
print(("输出(加解密后)" +di.get(i),end = '') #another way: print("输出(加解密后)" + "".join([di.get(i) for i in txt]))
我用的第二种方法:
当然还有解密的方法,未完待续。
py 二级习题(加密与解密)的更多相关文章
- py 二级习题(重新输出文本-----每行一句话)
#需要的一小段文本 txt = "人生得意须尽欢,莫使金樽空对月.天生我才必有用,千金散尽还复来." #对文本进行分割,转换成列表形式 def txt_split(txt): li ...
- py二级习题(提取文本,并计数)
with open(r"C:\Users\mike1\Desktop\practice_txt.txt","r",encoding = "gbk&qu ...
- py二级习题(猜猜我心中的数字)
import random number = random.randint(1,100) while True: inputnumber = int(input("请输入你心中的数字:&qu ...
- py二级习题
题目:使用turtle库的turtle.forward(),turtle.left(),函数绘制一个六边形,边长为100 像素 import turtle for i in range(6): tur ...
- py 二级习题(turtle)
用turtle画一个正方形 import turtle turtle.penup() turtle.goto(-100,-100) turtle.pendown() turtle.begin_fill ...
- ASP.NET加密和解密数据库连接字符串
大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...
- 命令行工具aspnet_regiis.exe实现加密和解密web.config
命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...
- 使用EncryptByPassPhrase和DecryptByPassPhrase对MS SQLServer某一字段时行加密和解密
在数据库实现加密与解密的文章,Insus.NET较早前也有写过,可以在本博客中可以搜索得到. 今天使用EncryptByPassPhrase和DecryptByPassPhrase来简单实现. 在数据 ...
- AES —— JAVA中对称加密和解密
package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingException; impo ...
随机推荐
- Hapi+MySql项目实战自动化文档生成(四)
自动化生成swagger文档 使用hapi插件hapi-swagger,简单配置下插件,先修改下plugin_config.js文件: //plugin_config.js const Swagger ...
- SpringBoot图文教程5—SpringBoot 中使用Aop
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- Android studio 断点调试整理
一. 开始断点调试 点击debug开始调试
- vue-cli3点滴
1.如果你不在构造函数中声明private的变量,那么久会提示错误. 2.
- VMware vCenter Server6.5安装及群集配置介绍
借助 VMware vCenterServer,可从单个控制台统一管理数据中心的所有主机和虚拟机,该控制台聚合了集群.主机和虚拟机的性能监控功能. VMware vCenterServer 使管理员能 ...
- Chrome Vue Devtools插件安装和使用
安装:fq后在chrome应用商店搜索 Vue Devtools并安装,安装成功后浏览器右上角有vue的图标 安装完毕后,打开含有vue框架的网站,这是vue图标会变亮,进入开发者工具,再右侧vue选 ...
- Docker深入浅出系列 | 容器数据持久化
Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...
- 《ADCrowdNet》密集人群检测论文笔记
背景 为了解决高密度的计数问题.(PS:就是attention机制的应用) 网络 整体网络结构图 attention部分的网络AMG 密度图预测网络 DConv代表可变形卷积,下图是常规卷积(左)与可 ...
- PR2018制作电子相册
PR2018制作电子相册 新建序列,自定义的参数 重置工作区域的面板 调节声音的大小 剪辑区域小图标的功能介绍 1,点亮状态表示可以自动对齐吸附,方便拼接视频,2,图标表示视频接音频同时选中的,不点亮 ...
- robotframework报错
问题一:RobotFramework RIDE在运行测试用例时无法打开谷歌浏览器,原因是1.安装ride时没有安装chromedriver驱动 2.驱动版本与本机浏览器不兼容 解决方法:在pyth ...