自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 paillier密码加解密实现(python)

【代码】paillier密码加解密实现(python)

2024-08-12 08:41:33 197

原创 railfence栅栏密码加解密实现(python)

栅栏密码把要加密的明文分成 N 个一组,然后把每组的第 1 个字连起来,形成一段无规律的话。这里给出一个例子去掉空格后变为分成两栏,两个一组得到先取出第一个字母,再取出第二个字母连在一起就是上述明文也可以分为 2 栏。组合得到密文。

2024-08-12 08:38:32 384

原创 维吉尼亚密码加解密实现(python)

维吉尼亚密码(Vigenere)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。下面给出一个例子首先,对密钥进行填充使其长度与明文长度一样。其次,查表得密文。

2024-08-07 10:05:32 441

原创 Affine(仿射密码)加解密实现(python)

仿射密码是一种经典的加密方法,其加解密原理如下:加密: 设m为字母表的大小(一般为26),a为加密时用到的一个常数,要求a与m互质,b为加密时用到的另一个常数,可以是任意整数。对于明文中的每个字母x,计算axbmodm,得到密文中的对应字母y。解密: 首先求出a的逆元a−1,即满足a×a−1≡1modm的整数a−1。然后对于密文中的每个字母y,计算a−1×y−bmodm,得到明文中的对应字母x。

2024-08-05 15:58:59 1136

原创 ROT系列密码加解密实现(python)

【代码】ROT系列密码加解密实现(python)

2023-03-13 20:30:58 2592 1

原创 Morse(摩斯电码)加解密实现(python)

摩斯电码是一种通信方法,它使用点和划的组合来表示字母、数字和符号。点是短脉冲,划是长脉冲,它们之间需要有一个短暂的间隔,而字符之间需要有一个较长的间隔。通过听觉或视觉方式解码摩斯电码可以识别字符。这种通信方法非常简单而且可靠,特别适用于在没有共同语言的情况下进行通信,例如在海上、航空或军事通信中。

2023-03-13 20:29:10 1880

原创 Atbash(埃特巴什码)加解密实现(python)

Atbash 加密是一种简单的替换密码,在该密码中,字母表中的每个字母都与相应字母表的反向字母对应。例如,在 Atbash 加密中,字母“A”对应于字母“Z”,字母“B”对应于字母“Y”,以此类推。因此,对于一个 Atbash 加密的密文,只需要将密文中的每个字母与相应的反向字母进行替换即可得到原始明文。本质上是一种映射,即。

2023-03-13 20:25:58 3879

原创 凯撒密码加解密实现(python)

使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。都按照其在字母表中的顺序向后(或向前)移动固定数目(凯撒密码(Caesar)加密时会将明文中的。Caesar(凯撒密码)

2023-01-07 13:53:56 2912

原创 [CISCN 2022 西南赛区]rsa_3 Writeup

题目前面给的信息都没什么用,主要是从lcm那个地方开始,把lcm拿去factordb分解一下可知P-1,Q-1有公约数,因为lcm和n位数差三位,所以我们从2的幂次方开始试试到n = lcm*8的时候位数差不多接近,所以取phin = lcm * 8。

2022-12-02 23:21:16 395

原创 信息与网络安全期末复习(基于老师给的重点)

最终章 老师梳理的重点1.1对称密码体制的优缺点优点:算法公开、计算量小、加密速度快、加密效率高。缺点:如何安全传递密钥(如果密钥在网络上被截获了就GG)、多人分发需要的密钥数量会急速增加。1.2 AES算法的加密流程待完善。。1.3 DES算法的加密流程待完善。。1.4 公钥密码体制模型的运行过程发送方A查找接收方B的公钥A采用公钥加密算法用B的公钥对明文进行加密A通过不安全信道将密文发送给BB收到密文后使用自己的私钥对密文解密还原出明文1.5 入侵检测系统的主要功能监

2022-05-28 16:42:07 1516 1

原创 信息与网络安全期末复习(完整版)

信息与网络安全第一章 概述1.1 基本概念信息安全是指信息网络中的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常的运行,信息服务不中断。信息安全威胁是指某些因素(人、物、事件、方法等)对信息系统的安全使用可能构成的危害。1.2 攻击概念攻击:仅仅发生在入侵行为完全完成,且入侵者已进入目标网络内的行为称为攻击。但更为积极的观点是:所有可能使一个网络受到破坏的行为都称为攻击。即从一个入侵者开始在目标机上工作的那个时刻起,攻击就开始了。

2022-05-22 17:03:40 4383 4

原创 [CISCN 2021 华南赛区]rsa Writeup

[CISCN 2021 华南赛区]rsa题目描述from flag import text,flagimport md5from Crypto.Util.number import long_to_bytes,bytes_to_long,getPrimeassert md5.new(text).hexdigest() == flag[6:-1]msg1 = text[:xx]msg2 = text[xx:yy]msg3 = text[yy:]msg1 = bytes_to_long(

2022-05-16 22:25:11 864

原创 数据结构(考研)第五章 树与二叉树

第五章 树与二叉树5.1 树的基本概念5.1.1 树的定义树是n个结点的有限集。当n=0时,称为空树。在任意一棵非空树中应满足:有且仅有一个称为根的结点当n>1时,其余结点可分为m个互不相交的有限集,其中每个集合本身又是一棵树,并且称为根的子树树的定义是递归的,树本身也是一种递归的数据结构。其作为一种逻辑结构,同时也是一种分层结构。树适合表示具有层次结构的数据。5.1.2 基本术语度。树中一个结点的孩子个数称为该结点的度,树中结点的最大度数称为树的度。路径和路径长度。树中两个结

2022-05-13 20:22:04 339

原创 数据结构(考研)第四章 串

第四章 串4.1 串的定义和实现4.1.1 串的基本概念串(字符串):是零个或多个字符组成的有限序列。记作: S=“a1a2a3…”,其中S是串名,ai(1≦i≦n)是单个,可以是字母、数字或其它字符。串值:双引号括起来的字符序列是串值。串长:串中所包含的字符个数称为该串的长度。空串(空的字符串):长度为零的串称为空串,它不包含任何字符。空格串(空白串):构成串的所有字符都是空格的串称为空白串。注意:空串和空白串的不同,例如“ ”和“”分别表示长度为1的空白串和长度为0的空串。子串(sub

2022-05-13 20:20:46 250

原创 后缀表达式求值(基于C++)

后缀表达式求值基本思想:​ 建立一个操作数栈S。然后从左到右读表达式,如果读到操作数就将它压入栈S中,如果读到n元运算符(即需要参数个数为n的运算符)则取出由栈顶向下的n项操作数进行运算,再将运算的结果代替原栈顶的n项压入栈中。重复上面过程,如果后缀表达式读完且栈中只剩一个操作数,则该数就是运算结果;如果后缀表达式读完但是栈中操作数多于一个,则后缀表达式错误;如果栈中操作数只剩一个,但是后缀表达式还未读完且当前运算符为双元操作符,则后缀表达式同样错误。测试样例:5 2 + 3 *代码实现://后缀

2022-05-12 18:13:27 3787 1

原创 中缀表达式转后缀表达式(基于C++)

中缀表达式转后缀表达式以a + b * c + ( d * e + f ) * g为例基于堆栈的算法从左到右扫描表达式,如果是操作数则直接输出。​ 如果扫描到的字符是一个操作符,分三种情况:(1)如果堆栈是空的,直接将操作符存储到堆栈中(push it)​ (2)如果该操作符的优先级大于堆栈出口的操作符,就直接将操作符存储到堆栈中(push it)​ (3)如果该操作符的优先级低于堆栈出口的操作符,就将堆栈出口的操作符导出(pop it), 直到该操作符的优先级大于堆栈顶端的

2022-05-12 18:12:08 1077

原创 栈在括号匹配内的应用(基于C++)

栈在括号匹配中的应用问题描述输入一字符串,检查字符串中 { }、[ ]、( ) 三种括号是否成对出现。不同括号间不能交叉出现且左右括号顺序不能颠倒,如 ) (、{ ( } )等。基本思路利用栈的特性,发现左括号就入栈,然后检索到右括号与栈顶的左括号比对,如果为同一种括号则栈顶括号出栈;如果不是同一种括号(交叉)或者栈为空(只有右括号)则匹配失败。最后若栈空则说明括号匹配成功代码实现#define MaxSize 50typedef struct { char data[MaxSiz

2022-05-12 18:10:54 278

原创 循环链表的实现(基于C++)

循环链表–循环单链表最后一个结点的指针不是NULL,而是指向头结点typedef struct LNode{ ElemType data; struct LNode *next; }DNode, *Linklist;/初始化一个循环单链表bool InitList(LinkList &L){ L = (LNode *)malloc(sizeof(LNode)); //分配一个头结点 if(L==NUL

2022-05-12 16:45:54 605

原创 数据结构(考研)第三章 栈、队列和数组

第三章 栈、队列和数组3.1 栈3.1.1 栈的基本概念定义栈是只允许在一端进行插入或删除操作的线性表,操作特性可以概括为后进先出。栈的数学性质:n个不同元素进栈,出栈元素不同排列的个数为基本操作void InitStack(&S):初始化一个空栈bool StackEmpty(S):判断一个栈是否为空bool Push(&S,x):进栈void Pop(&S,&x):出栈void GetTop(S,&x):读栈顶元素void Destor

2022-05-12 16:34:32 399

原创 数据结构(考研)第二章 线性表

第二章 线性表2.1 线性表的定义和基本操作线性表的基本操作线性表的九种基本操作:InitList(&L):初始化表。构造一个空的线性表。DestroyList(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。LocateElem(L,e):按值查找操作。在表中L查找具有给定关键字值的元素。GetELem(L):按位查找操作。获取表L中第i个位置的元素的值。Listlnsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e.LlstD

2022-05-06 15:35:47 378

原创 数据结构(考研)第一章 绪论

第一章 绪论1.1 数据结构的基本概念**数据:**数据是信息的载体,是计算机程序加工的原料。数据元素、数据项: 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。数据结构、数据对象:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据对象是具有相同性质的数据元素的集合,是数据的一个子集。数据结构的三要素:逻辑结构集合线性结构数据元素之间是一对一的关系树形结构树形结构之间是一

2022-05-06 15:32:45 528

原创 操作系统(考研)第一章 计算机系统概述

第一章 计算机系统概述1.1 操作系统的基本概念1.1.1 操作系统的概念操作系统是指控制整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。1.1.2 操作系统的特征并发并发是指两个或多个事件在同一时间间隔内发生。共享互斥共享同步共享虚拟异步其中,并发和共享是操作系统两个最基本的特征,两者互为存在的条件。1.2 操作系统发展历程1.2.1 手工

2022-04-27 16:51:17 133

原创 [NSSCTF 2022 Spring Recruit] Crypto wp

[NSSCTF 2022 Spring Recruit] Crypto wpclassic题目UZZJAM{UIXETGR7TMWD42SKTCWEP4AG_mhrlmshnayfihzl}第一层是凯撒密码NSSCTF{NBQXMZK7MFPW42LDMVPXI4TZ_fakeflagtrybase}稍微有点英语基础就知道fakeflagtrybase是假flag,然后去试base,最后用base32解NBQXMZK7MFPW42LDMVPXI4TZ得have_a_nice_try,用NSS

2022-03-22 22:37:36 2357

原创 Redis快速入门

Redis概念redis是一款高性能的非关系型的数据库。存储形式是key-value.非关系型数据库特点数据之间没有关联关系数据存储在内存中下载安装官网:https://redis.io中文网:http://www.redis.net.cn解压可以直接使用redis.windows.conf:配置文件redis-cli.exe:redis的客户端redis-server.exe:redis的服务器端命令操作redis的数据结构redis存储的是:key-va

2022-03-05 13:23:18 101

原创 Junit单元测试

Junit单元测试简介JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。Junit是一个自动化测试框架,可以帮助开发人员对接口和方法进行单元测试,只需查看最后结果就知道整个项目的接口或代码是否流畅导入方法使用maven导入在maven的<dependencies></dependencies>里添加如下代码<dependency>

2022-02-28 14:04:00 99

原创 [VNCTF 2022]ezmath wp

[VNCTF 2022]ezmath wp一个sha256爆破+一个数学问题,可以去百度一下,得到答案就是num * 4,但是查看源码可以发现要提交777次答案,所以只能写脚本来解决,这类交互题一般是去nc服务器,也可以使用python中的第三方库pwntools。expfrom hashlib import sha256import randomfrom pwn import *import string# 创建由大小写字母和数字组成的字典dir = string.ascii_lette

2022-02-28 13:56:17 814

原创 华为认证云计算HICA

华为认证云计算HICA文章目录华为认证云计算HICA第一章 云计算概念基础云计算概念和价值云计算的关键特征云计算产生的背景云计算的演进历程云计算的部署模式云计算的商业模式第二章 了解计算机底层计算机发展史与系统层次结构冯诺依曼架构与衍生架构指令、指令集、指令周期、寻址CPU结构、中断系统、指令环计算机存储器层次架构总线系统I/O系统与驱动技术深入第三章 了解存储底层多种硬盘接口和协议类型文件系统第四章 了解网络底层第五章 操作系统与虚拟化第六章 华为虚拟化解决方案-FusionCompute第七章 华为桌

2021-12-27 08:27:06 2063

原创 React基础和JSX

React官网:http://reactjs.orgReact基础React脚手架的使用初始化npx create-react-app 项目名称启动项目npm start能看到这样的界面就表示项目配置成功了在脚手架中使用React1.导入react和react-dom两个包import React from 'react'import ReactDOM from 'react-dom'2.调用React.createElement()方法创建react元素3.调用Re

2021-12-22 11:00:20 531

原创 JavaScript对象实现排序

JavaScript对象实现排序需求将素材页面中的商品,按价格进行排序。1.1 多次点击排序按钮,商品按价格升序和降序交替排列1.2 第一次点击排序,所有商品按价格升序排列1.3 随着升序与降序排列,箭头符号成上下的形状,利用数组的sort函数和js对象完成排序。然后操作dom,重排页面实现index.html<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8">

2021-12-22 10:21:11 1254

原创 Vue路由高级用法

vue-router的高级用法路由重定向路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面。通过路由规则的 redirect 属性,指定一个新的路由地址,可以很方便地设置路由的重定向const router = createRouter({ history:createWebHashHistory(), routes:[ {path:'/',redirect:'/home'} {path:'/home',component:MyHo

2021-12-22 10:12:26 810

原创 Vue路由基本用法

Vue路由文章目录Vue路由前端路由的概念与原理vue-router 的基本用法vue-router的高级用法前端路由的概念与原理SPA 与前端路由SPA 指的是一个 web 网站只有唯一的一个 HTML 页面,所有组件的展示与切换都在这唯一的一个页面内完成。此时,不同组件之间的切换需要通过前端路由来实现。结论:在 SPA 项目中,不同功能之间的切换,要依赖于前端路由来完成!前端路由的工作方式用户点击了页面上的路由链接导致了 URL 地址栏中的 Hash 值发生了变化前端路由监听了到

2021-12-22 10:08:28 256

原创 Vue组件高级

Vue组件高级文章目录Vue组件高级watch侦听器组件的生命周期组件之间的数据共享axiosref引用动态组件插槽自定义指令watch侦听器watch 侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。例如,监视用户名的变化并发起请求,判断用户名是否可用。语法<script>export default{ data(){ return {username:''} }, watch:{ //监听username值

2021-12-21 19:52:50 283

原创 Vue组件进阶

Vue组件进阶props验证对外界传递进来的props数据进行合法性的校验,防止数据不合法props:{ count:Number, state:Boolean}对象类型的 props 节点提供了多种数据验证方案,例如:基础的类型检查<script> export default{ propA:String, propB:Number, propC:Boolean, propD:Array,

2021-12-19 12:32:42 426

原创 计算机网络(考研) 第五章 传输层

第五章 传输层文章目录第五章 传输层5.1 传输层概述5.2 UDP协议5.3.1 TCP协议特点和TCP报文段格式5.3.2 TCP连接管理5.3.4 TCP流量控制5.3.5 TCP拥塞控制5.1 传输层概述传输层的意义网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。传输层就是讲进程和收到的数据联系到一起,使数据能够为应用服务所以说传输层是主机才有的层次传输层的功能:传输层提供进程和进程之间的逻辑通信复用和分用传输层对收到的报文进行差错检测传输层的两种协议

2021-12-16 16:58:31 449

原创 计算机网络(考研)第四章 网络层

第四章 网络层4.1.1 网络层功能概述网络层主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络层传输单位是数据报。功能路由选择与分组转发(最佳路径)异构网络互联拥塞控制4.1.2 电路交换、报文交换与分组交换电路交换过程:建立连接(呼叫/电路建立 -> 通信 -> 释放连接(拆除电路))特点:独占资源优点:通信时延小有序传输没有冲突实时性强缺点:建立连接时间长线路独占、使用效率低灵活性差无差错控制能力报文交换报

2021-12-16 16:54:28 275

原创 计算机网络(考研)第三章 数据链路层

第三章 数据链路层3.1 数据链路层功能概述基本概念节点:主机、路由器链路:网络中两个节点之间的物理通道。数据链路:网络中两个节点之间的逻辑通道。把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。帧:链路层的协议数据单元,封装网络层数据报。数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻节点传送数据报。功能:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务链路管理,即连接的建立、维持、释放(用于面向连接的服务)组帧流量控制差错控

2021-12-16 16:47:40 697

原创 Vue组件基础

Vue组件基础文章目录Vue组件基础单页面应用程序vite基本使用组件基本使用单页面应用程序单页面应用程序(英文名:Single Page Application)简称 SPA,顾名思义,指的是一个 Web 网站中只有唯一的一个 HTML 页面,所有的功能与交互都在这唯一的一个页面内完成。特点单页面应用程序将所有的功能局限于一个 web 页面中,仅在该 web 页面初始化时加载相应的资源(HTMLJavaScript 和 CSS)。一旦页面加载完成了,SPA 不会因为用户的操作而进行页面的重新加

2021-12-16 16:35:48 366

原创 ECC椭圆曲线加密算法基础

ECC加密算法加密过程选取一条椭圆曲线Ep(a,b),并取椭圆曲线上一点作为基点P选定一个大数K作为私钥,并生成公钥Q = K*P加密:选择一个随机数r(r < n),将消息M生成密文C密文是一个点对,C = (rP,M * rQ)解密:M = r * Q - K * (r * P) = M + r * (K * p) - K * (r * P) = M算法原理椭圆曲线公式:y2=ax3+bx2+cx+dy^2 = ax^3 + bx^2 + cx + dy2

2021-12-15 22:56:13 660

原创 Vue基础入门

Vue基础入门vue简介简介vue就是一套前端框架。vue全家桶vue(核心库)vue-router(路由解决方案)vuex(状态管理方案)vue组件库(快速搭建页面UI效果的方案)vue-cli(npm全局包:一键生成工程化的vue项目-基于webpack,一般用于大项目)vite(npm全局包:一键生成工程化的vue项目,一般用于小项目)vue-dectools(浏览器插件:辅助调试的工具)vetur(vscode插件:提供语法高亮和智能提示)vue的特点数据驱动视图

2021-12-15 21:41:07 881

原创 内存空间管理的动态分区(基于javaSE)

import java.util.Arrays;class Node{ int id; int initSize = 0; int endSize = 0; int usedSize = 0; int freeSize = 255; Node next = null; public Node(){} public Node(int id,int initSize, int endSize) { this.initSize =

2021-12-08 18:10:27 149

Easy_game.md

Easy_game.md

2021-11-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除