密码小组作业
RC4简介RC4是一种对称密码算法,它属于对称密码算法中的序列密码(streamcipher,也称为流密码),它是可变密钥长度,面向字节操作的流密码。 RC4是流密码中的一种,为序列密码。RC4加密算法是Ron Rivest在1987年设计出的密钥长度可变的加密算法簇。起初该算法是商业机密,直到1994年,它才公诸于众。由于RC4具有算法简单,运算速度快,软硬件实现都十分容易等优点,使其在一些协议和标准里得到了广泛应用。 流密码也属于对称密码,但与分组加密算法不同的是,流密码不对明文数据进行分组,而是用密钥生成与明文一样长短的密码流对明文进行加密,加解密使用相同的密钥。 算法内容 RC4算法加密流程:包括密钥调度算法KSA和伪随机子密码生成算法PRGA两大部分(以密钥长度为256个字节为例)。 步骤: 初始化S表 对S表线性填充,一般为256字节 使用key密钥通过密钥调度算法KSA初始置换S表 123456具体就是: j = (j + S[i] + key [i % key.length]) % 256然后交换 S[i] 与 S[j]...
Javaweb
HTML & CSS入门程序 12<h1>HTML入门程序<h1><img src="img/1.png"> HTML快速入门1234567891011<html> <head> // 这里写的是给浏览器看的,如css </head> <body> //这里写的是给用户看的,如文字图片 </body></html> 新手程序: 12345678910<html> <head> <title>HTML快速入门</title> </head> <body> <h1>Hello HTML</h1> <img src="D:\blog\cotton-star\source\image\1.jpg"...
注解与反射
注解与反射01 注解学习1注解是一种代码级别的说明,注释和注解一个最大的区别就是,当你代码哪里写错了,注解会报错 我们以前常用的一个注解,@Override 指的是重写 001 内置注解123@Override 指的是重写@Deprecated 修饰方法,指不鼓励使用这样的元素@SuppressWarnings 用来抑制警告信息 002 元注解001 @Retention 翻译是保留的意思,这个注解的意思其实就是在什么阶段去保留 @Retention(RetentionPolicy.RUNTIME) 的作用是确保注解在运行时可用,基本上使用这个 @Retention(RetentionPolicy.SOURCE) 的作用是在源码时保留 @Retention(RetentionPolicy.CLASS) 的作用是在CLASS时可用 002 @Target 这个的意思是指作用域在哪里 @Target(ElementType.METHOD) 作用在方法上 @Target(ElementType.TYPE)...
从配置到打代码--苍穹外卖
第一章 配置01 整体代码先不着急写代码,先对整体项目分析一下 可以看见项目被分成了三个部分 sky-common 123点进去细看可以看出这里面是一些功能类,用来应对报错,返回结果,以及项目进行的各种需求result: 是为了向前端返回固定的格式,因此我们写后端代码都需要返回result//TODO 还没学完,后续补充 sky-pojo 12这里就是项目所需要的所有对象,entity是对象的全貌,带有所有属性,而dto则是为了方便处理项目所创建的小对象,包含有entity的一部分属性//TODO vo还没学完,后续补充 sky-server 1后端项目的具体内容,也是我们要干的活 02 配置环境准备好 12341. maven2. mysql3. git4. nginx 001 maven12第一步:下载,然后配置环境变量,记得JAVA_HOME,java环境变量记得配置,不然用不了maven,在进入path填入%MAVEN_HOME%\bin,就可以了,之后进入cmd 输入mvn...
计算机操作系统
一.操作系统概述1. 概念 操作系统作为系统资源的管理者 目标:安全,高效 功能: 1234+ 处理机管理+ 存储器管理+ 文件管理+ 设备管理 命令接口: 1234+ 联机命令接口==交互式命令接口 特点:windows的cmd,用户说一句系统做一句+ 脱机命令接口==批处理命令接口 用户说一堆,系统做一堆 2. 四个特征 并发 共享 虚拟 异步 其中前两者为最基本的特征,互为存在条件 并发 123两个或多个事件在同一时间间隔内发生,宏观上同时发生,微观上交替发生易混概念:并行:指两个或多个事件在同一时刻同时发生 共享 123456指系统中的资源可供内存中多个并发执行的进程共同使用+ 互斥共享方式 一个时间段内只允许一个进程访问+ 同时共享方式 一个时间段可由多个进程"同时"对他们进行访问 虚拟 异步 3. 发展与分类 参考视频 1.1_1_操作系统的概念、功能_哔哩哔哩_bilibili
112.路径总和
思路递归需要把大问题化成小问题,我们从头开始看, 在根节点:求从根节点到叶子节点是否等于targetsum root->left:从此处到叶子节点的距离是否等于targetsum-root->val 以此类推到最后的叶子节点,判断最后的targetsum==root->val; 代码 123456789bool hasPathSum(struct TreeNode* root, int targetSum) { if(root==NULL){ return false; } if(root->left==NULL&&root->right==NULL){ return targetSum==root->val; } return...
1421.小玉买文具
开始leedcode只有关键代码,输入直接把我干倒了,接下来开始一起刷,leedcode刷思路,洛谷刷完整代码 很简单不多说 123456#include<stdio.h>int main() { int a, b; scanf("%d %d", &a, &b); printf("%d", (a*10+b)/19);}
111.二叉树的最小深度
思路跟104大差不差却又多了一点条件 他是找根节点到叶子结点的最短路径,因此要把根节点也算进去,左右NULL时return1 只有1,2的时候,他不能再取左右最小值了,因为右边没有叶子节点,如果无脑递归就会出错,本来答案2就会为1 代码: 1234567891011121314151617181920int min(int a,int b){ return a<b?a:b;}int minDepth(struct TreeNode* root) { if(root==NULL){ return 0; } else if(root->left==NULL&&root->right==NULL){ return 1; } else if(root->left==NULL){ return minDepth(root->right)+1; } ...
104.二叉树的最大深度
思路递归在树中真的很神奇,我感觉他行他就行了 每遍历一层+1,其他的我也说不出来了… 代码: 123456789101112int max(int a,int b){ return a>b?a:b;}int dep=0;int maxDepth(struct TreeNode* root) { if(root==NULL){ return 0; } else { return max(maxDepth(root->left)+1,maxDepth(root->right)+1); }}
101.堆成二叉树
思路手感火热,经过第100题之后,这题感觉手拿把恰 把这棵树从中间切开 就跟上一题差不多了,判断两棵树是否相同,但是他是判断左孩子和对面的右孩子是否相同,修改最后一条代码即可 1234567891011121314151617bool isSame(struct TreeNode*p,struct TreeNode* q){ if(p==NULL&&q==NULL){ return true; } else if(p==NULL||q==NULL){ return false; } else if(p->val!=q->val){ return false; } else{ return isSame(p->left,q->right)&&isSame(p->right,q->left); }}bool...








