凯撒加密 Caesar Cipher
哈喽大家好,我是一个新人年更 UP 主小麦,今天教大家怎么使用 Python 实现一个凯撒加密的小工具。 凯撒加密的原理凯撒加密是由两个轮盘所组成的简易加密机制。其原理是将字母 A-Z 首尾相连,然后定义一个 0 - 25 的密钥值,并将明文的字母逐字向后推移到该值所对应的字母即可完成加密。 比如 key 值为 15,那么 A 在加密后对应字母的第 15 个字符,也就是 P。 我们只需要将加密后的信息和 key 值传递给对方,对方通过反向计算(也就是将偏移后的结果反向解码)即可破译该信息。 凯撒加密的例子比如说我们需要加密 CAT 这三个英文字母,密钥为 15,那加密过程为: C 的字符下标为 2;A 的字符下标为 0;T 的字符下标为 19。 将 2,0,19 分别 + 15,得到 17,15,34; 通过字符表,我们可以得到密文为 R P 和编码为 34 的密文,这里我们发现 34 超过了字母对照表 25 的长度,所以我们需要将其减去 26,已得到对应的数值 8。 最后我们得出加密后的文本为:RPI。 凯撒解密的例子刚才我们加密后的结果为 RPI,密钥为 15,那解密过程...
什么是密码学 Cryptography
人们需要传递信息,且这份信息不能让其他人知道的时候,就需要加密所传递的信息。密码学就是一门研究加密的科学。 系列内容友友们,我想出一系列关于用 python 实现密码学的视频,请问有感兴趣的嘛? 凯撒密码 — [[凯撒加密 Caesar Cipher]] 换位法加密 仿射密码 替换式密码 维吉尼亚密码 一次性密码本 公开密钥加密 大概率是周更或者每周两更。期间也会出番外来讲解一些加密原理
JavaWeb 笔记 11 双层 JDBC
JDBC 三层包括: Service 业务逻辑层 DAO 数据获取层 Helper 数据连接层 目的引入 Dao 概念,DAO 就是和数据库打交道的对象。它的类名命名方式为 表名Dao。 具体就是把我们之前写在 servlet 的代码搬过来这里。 第一步创建一个 dao 包,然后创建一个类,类命名方式如上 以航空管理 GetCityNames 接口为例: public class CityDao { public static List<HashMap<String, Object>> getCityNames() { String sql = "SELECT * FROM city"; List<HashMap<String, Object>> list = MySqlHelper.executeQuery(sql, null); return list; }} 然后 Servlet 的 Get 或 Post 方法就调用它 List<HashMap<...
游戏套路设计
新手任务通过新手任务,让玩家可以迅速升到 10 级。升级过程中,通过打怪,可以攒齐一套初始装备。 让玩家建立初始收集装备的快感,可以见证自己的装备栏,从无到有的过程。 这是初期 RPG 游戏的基本套路。我们直接沿用,可以让玩家找到归属感,减少玩家玩游戏过程中的学习成本 任务面板任务列表、任务内容。 任务内容和 #c00ff00 英雄 #c 对话#W 这里一大堆废话描述事情的来龙去脉然后引出具体的任务这个任务的目标就是要击杀 #R30#W 只 独角兽。 设计总结 让玩家找到归属感 减少游戏带来的学习成本 减少游戏前期的流失率 商城系统提供商城系统,充值、或者做任务获得一级货币,暂且叫他元宝。实际名字根据游戏世界观而定。 可以在商城购买游戏道具。但是只能买少量的游戏道具,且只有当玩家升到 10 级之后才会开放。因为大部分玩家不会一上来就付费。提前开放会导致玩家认定这是一个氪金游戏。 商城面板热卖、钻石商城、奇货可居、坐骑商城、时装商城、至尊商城 设计总结 吊一下玩家胃口 升级过程中爱上游戏 心甘情愿的付费 职业系统10 级以后可以选择一种职业,拥有职业技能。打怪方式多了几种选择,...
后室游戏灵感
有一天你在后室,这个时候停电了,你打算去修理电箱,但这时却传来了敲门声…当前任务:找到修理工具和电箱。默认武器:一把三个弹匣的AK和核能手电筒,再加一把消防斧。任务目标:修理完电箱后清理完丧尸。注意:1.后室子弹较少,请谨慎使用。2.体力不足的情况下无法使用消防斧。3.如果你听到有人叫你名字别回头。
CSharp 面向对象思想
知识点面向对象包含了两个很重要的东西——属性、方法 属性:这个对象有什么特征。如:颜色、重量、位置…… 方法:这个对象能干嘛。如:上色、掉落…… 属性 这个对象有什么特征。比如人有姓名、年龄、性别等。 格式为(方括号代表可以写、可以不写): [修饰符] [static] 数据类型 变量名 [= 初始值]; 修饰符分为五个 public——公共的,所有类都能调用它的值。 private——私有的,相当于他的小秘密,只有他自己可以访问这个值 protected——受保护的,只有它和它的孩子(继承它的)类可以访问这个值 internal——同一个项目中的对象可以访问 protected internal——可可以在其他项目中,被派生类使用 不写——相当于 private,只有他自己能访问 static 关键字将此变量设置为静态变量。它的特性是: 一旦这个类(不是实例化之后的对象)被初始化之后,它的值就一直存在 数据类型可以是任何种类,包括复合类 变量名——一般情况下,C#变量名的命名方式约定俗成为: private 修饰符,它的变量名之前应该有个下划线,然后采用小驼峰。...
CSharp 期末学习报告
通过这门课程,学习了 C# 这一门高级语言。 C# 可以完成很多事情。例如: 编制 ASP.NET 后端服务程序 编制 Window Form 桌面程序 配合 XAML 标记语言,可以编写 WPF 应用程序。 使用 Unity 引擎可以快速开发一款多端运行的游戏。 认真学习了有关程序流程结构的相关知识。 顺序结构:程序由上往下逐行执行。 分支结构:当表达式的条件成立,则执行对应的代码块。 一个完整的 C# 程序主要包含以下部分: 命名空间(Namespace)声明:可以理解为 C# 的文件夹,不同的命名空间下可以包含相同名字的类。 一个类(Class) 类的成员方法:用于执行该对象实例化之后某些特定的操作 类的成员变量:也称作属性,用于保存该实例化之后的对象属性值。 一个 Main 方法:是所有 C# 程序的入口函数 语句(Statement)和表达式(Expression):语句用于让程序执行某件操作,而表达式可以用于得到某些数据的处理结果 注释:用于说明这行代码的用处,是团队协作中甚至是个人项目必不可少的东西,让你在很久之后再次打开这个项目时能够快速地明白该代码段是在处...
CSharp 第 4 课笔记
创建 Windows Application 窗体应用 (.NET Framework) 在解决方案资源管理器(Solution Explorer)中, 引用 Reference 包含了系统库,还有一些第三方库 App.config 当前应用的配置文件 Form1.cs 资源文件(窗体的逻辑代码) Form1.Designer.cs 源码文件(界面设计的源码) Form1.resx 资源文件 Program.cs 主方法源码文件。 工具箱:包含了所有用到的控件 控件包含了 Properties 属性 可以修改控件的名称 Events 事件 设置每个事件的调用函数 从窗体设计界面到后台代码编辑器的方式有三种: 在 Event 设置事件,回车 双击控件,它会自动创建点击事件(命名规则为 该控件的名字_click) 快捷键 F7
CSharp 第 3 课笔记
循环结构while 循环条件while(条件表达式) { // 执行这里的代码(中间这段代码称为循环体) // 需要让上面的条件在某一次循环之后为假,跳出循环} 如:重复 n 次打印文本 条件:次数 循环体:打印文本 int i = 0;while (i < 10) { Console.WriteLine("文本"); i++;} do-while 循环do { // 这一段至少会执行一次 // 如果 while 条件为真,则再执行一遍} while(条件表达式) 以下是个案例 循环体:修改论文,询问老师是否通过 条件:老师给的答复 // 询问导师论文通过与否do { Console.WriteLine("撰写论文中……"); Console.WriteLine("论文写好啦!"); Console.WriteLine("我的论文可以通过吗?"); string answer = Console.ReadLine();...
CSharp 第 2 课笔记
C Sharp 的结构有哪些特点 命名空间实现的分层管理 命名空间下包含若干个类型(其中最重要的是“类”) 类下面包含函数或方法 方法由语句组成 类结构class 类名{ 成员定义(字段定义、方法定义等)} 方法和函数的定义修饰符 返回值类型 方法名(参数列表){ 声明部分 执行部分} C Sharp 关键概念 程序 Program 编译出来的最终运行单位 exe 命名空间 Namespace 相当于 Java 的包 用于在同一个程序中定义同一个名称的类 类型 Type 分为基础类型:整数、浮点数…… 复杂类型:字符串、用户定义的类 成员 Member 在一个类之下的数据(变量) 程序集 Assembly C Sharp 程序的开发历程语句 -> 方法 -> 类 -> 命名空间 C Sharp 数据类型整数、浮点数、字符、Double 字符串 题目第一题接收用户输入,获取两个字符串,将其字符串链接(用 + 运算符),保存在新的变量之中,然后输出。 using System;namespace Un...









