自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 正则表达式梳理大全

d: 匹配任何数字字符,等价于[0-9]。\D: 匹配任何非数字字符,等价于[^0-9]。\w: 匹配任何单词字符(包括字母、数字以及下划线),等价于。\W: 匹配任何非单词字符,等价于。\s: 匹配任何空白字符(包括空格、制表符、换行符等),等价于。\S: 匹配任何非空白字符,等价于。习题:A. 匹配 “The year 1992” 中的所有数字。

2024-04-23 21:28:07 846

原创 密码学 实现64bit DES C语言

1.Feistel网络结构①明文(输入)块大小(Block Size):64bit~128bit,且是2的倍数;②密钥长度/大小(Key Size):56~256③Number of Rounds:循环次数④Round Function:轮函数,一定是非线性的,不要求可逆明文(Plaintext)长度为2W位(该结构加密的名文bit数长度必须为偶数,比如DES的明文长度为64bit)。①先将2w位的明文分为左半部分(前w位L0)和右半部分(后w位R0)。②将输入的右侧R0,直接输出到输出的左侧为密文的左半部

2022-06-18 20:40:11 1223

原创 密码学 实现64bit RSA c语言

1.1 RSA产生公私钥对具体实例讲解如何生成密钥对1.随机选择两个不相等的质数p和q。 alice选择了61和53。(实际应用中,这两个质数越大,就越难破解。)2.计算p和q的乘积n。 n = 61×53 = 3233 n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。3.计算n的欧拉函数φ(n)。称作L 根据公式φ(n) = (p-1)(q-1)

2022-06-18 20:34:38 724 1

原创 密码学 AES算法实现 c语言

最后轮没有列混合初始变换: 明文4*4=16字节=128bit 密钥4*4=128bit 明文和初始密钥 异或字节代换S-Box行移位 列混合乘法 乘2时 左移1位且分为当首位为0时;当首位为1时 两种情况乘3时 将3拆为2+1乘4时 将4拆为2*2轮密钥加子密钥获得(密钥扩展)AES算法主要包括以下几个部分:s盒模型,密钥扩充,轮密钥加,字节代换,行移位,列混合。而本文主要讨论AES-128,进行10轮迭代,在第10轮时少一次列混合。(1)密钥扩充 AES首先将初始密钥输入到一个4*4的

2022-06-18 20:31:24 4037 1

原创 计算机系统基础实验 AttackLab

本文是作者的作业备份,仅作参考,不可照搬抄袭!本实验分为五个阶段,ctarget的三个使用的是CI(code-injection),rtarget的两个阶段使用的是ROP(return-oriented-programming),如表1所示ctarget和rtarget都是用getbuf函数从标准输入读入字符串,getbuf函数定义如下:函数Gets类似于标准库函数gets,从标准输入读入一个字符串(以’\n’或者end-of-file结束),将字符串(带null结束符)存储在指定的目的地址。从这段代码可以

2022-06-18 20:24:35 3108

原创 计算机系统基础实验 BombLab

本实验通过要求你使用课程所学知识拆除一个“binary bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。一个“binary bombs”(32位二进制炸弹,下文将简称为炸弹)是一个Linux可执行程序,包含了7个阶段(或层次、关卡)。炸弹运行的每个阶段要求你输入一个特定字符串,你的输入符合程序预期的输入,该阶段的炸弹就被拆除引信即解除了,否则炸弹“爆炸”打印输出 “BOOM!!!”。实验的目标是拆除尽可能多的炸弹层次。 每个炸弹阶段考察了机器级程序语言的一个不同方面,

2022-06-18 19:55:08 5957

原创 PE文件解析--导入函数节.rdata

讲导入函数节,就必须介绍一下Datadirectory:Datadirectory放在可选文件头optional_header里面,有16个项,每项8字节,里面存放的是每个导入函数节,导出函数节等节的信息。可选文件头optional_header: 例如:14 20 00 00 3c 00 00 00前4位:代表该节的RVA,14 20 00 00RVA=0002014后4位:代表该节的大小,0x0000003c=60下面按rdata中存放的顺序介绍,注意此表中的地址是文件地址:其RVA(内存)=0x000

2022-06-08 15:45:29 2985 2

原创 PE文件格式全解读

PE文件包括DOS部分、PE文件头和节表和节数据。从DOS头(DOS header)到节区头(Sectionheader)是PE头部分,其下的节区合称PE体。节数据包括代码(.text)、数据(.data)、资源(.rsrc)节,分别保存。1.DOS部分:IMAGE_DOS_HEADER结构体的大小为40字节,需要注意的2个重要成员:0x0-0x01e_magic: DOS签名,表文件开始标识0x4d5a=”MZ”0x3c-0x3fe_lfanew:PE头部分的偏移0x000000b0.DOS存根位于DOS

2022-06-08 15:39:41 5235

原创 在Ubuntu 16.04上安装Java JDK和burpsuite的步骤

安装Oracle Java JDK$ sudo apt-get install python-software-properties添加仓库源:$ sudo add-apt-repository ppa:webupd8team/java更新软件包列表:$ sudo apt-get update安装java JDK:$ sudo apt-get install oracle-java8-installer安装过程中需要接受协议:查看java版本:$ java -v...

2022-05-24 00:45:42 1010

原创 在Ubuntu 16.04上安装Java JDK

​​​​​​在Ubuntu 16.04上安装Java JDK的步骤_Replete的博客-优快云博客_ubuntu16.04安装java可能遇到的报错:Package ‘oracle-java8-installer‘ has no installation candidate--Ubuntu解决方法:sudo add-apt-repository ppa:ts.sch.gr/ppasudo apt-get updatesudo apt-get install oracle-java8-

2022-05-23 21:47:21 400

原创 Tensorflow详解 命令行参数flags

1.定义命令行参数flags 模块:实现标志接口 DEFINE_string 定义一个用于接收 string 类型数值的变量; DEFINE_boolean 定义一个用于接收 bool 类型数值的变量 DEFINE_bool DEFINE_float 定义一个用于接收 float 类型数值的变量 DEFINE_integer 定义一个用于接收 int 类型数值的变量;DEFINE_xxx”函数带3个参数,分别是变量名称,默认值,用法描述,..

2022-05-16 15:14:37 1112

原创 Web安全攻防:渗透测试学习笔记1(自用)

第一章 渗透测试之信息收集在信息收集中,最主要的就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息﹑目标网站系统﹑CMS指纹﹑目标网站真实IP﹑开放的端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。1.1 收集域名信息知道目标的域名之后,我们要做的第一件事就是获取域名的注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。1.1.1 Whois 查询Whois就是一个用于查询域名是否已被注册以及注册域名的详细信息的数据库(如域名所有人、域名注册商)在Wh

2022-04-19 19:27:22 2165

原创 华为机试HJ16 购物单 C语言动态规划详细解答

描述王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件,且每件物品只能购买一次。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。王强查到了每件物品的价格(都是10元的整数倍),而他只有 N 元的预算。除此之外,他给每件物品...

2022-03-28 21:32:42 2703 2

原创 数字取证二 熟练掌握鉴证大师 了解NTFS分析、LogFile文件使用和USN日志分析

任务一 选择Z01.Peter.e01镜像:练习一:分析JMXM021-技术资料-客户名单.lnk文件,该文件被拷贝后,是否被编辑过?练习二:分析JMXM021-技术资料-文档.lnk文件、 JMXM021-技术资料-文档.docx文件,该文件被拷贝后,是否被编辑过?练习三:分析JMXM021-技术资料-客户名单.lnk文件,该文件被拷贝后,是否被移动过?任务二 选择C01-CCFC-Windows XP.001镜像,使用鉴证大师:练习一:查找Sprite编辑过的所有Offi......

2022-03-26 14:07:37 5184 1

原创 数字取证一 证据固定、文件过滤、文件类型、文件签名、文件哈希

实验一:1.创建磁盘镜像,校验哈希值并获取磁盘摘要或报告。校验哈希值正确。2. 查找所有分区中,扩展名为 doc 和 docx 的所有文档有多少个?在点击的“文件名称”属性旁边的小漏斗,过滤出含有doc,docx文件名称。在每个分区中选择浏览递归。在分区1中筛出5个文件。在分区2中筛出11个文件。在分区3中筛出5个文件。在分区4中筛出1个文件。一共筛出了22个文件。3.统计分区2中,路径名称包含mobile的文件数量在上

2022-03-26 14:04:46 2814 1

原创 机器学习五 基于adaboost模型实现对mnist数据集的分类

原理分析:代码分析: 1.初始化数据 ①对data数据转化为0-1浮点型 进行归一化处理 ②将label值进行二值化 2.对Adaboost模型进行训练 (1)创建提升树 通过创建每层提升树,迭代50次,计算当前层的alpha得到每层的预测结果,并更新D ①创建单层提升树 curTree = createSigleBoosti..

2022-03-26 13:52:41 989

原创 机器学习四 基于支持向量机SVM模型实现对mnist数据集的分类

算法支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分的训练数据集而言,线性可分分离超平面有无穷多个,但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化。而当训练数据集近似线性可分时,为软间隔最大化。 代码分析: 1.初始化数据 ①对data数据转化为0-1浮点型 进行归一化处理 ②将label...

2022-03-26 13:47:13 4532 3

原创 华为机试HJ6 质数因子

描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×109+14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。示例1输入:180输出:2 2 3 3 5解析:1.对于正整数n,如果n可以被一个数整除,那么其中一个数一定小于等于n开方,另一个大于

2022-03-26 12:53:52 676

原创 华为机试HJ5 进制转换

描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在1 \le n \le 2^{31}-1 \1≤n≤231−1输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1输入:0xAA输出:170解析:考察ASCII码0 十六进制 30 十进制 48A 十六进制 41 十进制 65a 十六进制 61 十进制 97从后往前循环,将16进制转化为1..

2022-03-26 12:53:40 777

原创 华为机试HJ4 字符串分隔

描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc输出:abc00000解析:注意事项:字符串长度问题如果要输入的字符串是“abc“那么容纳它的char*,必须有4位,即“abc\0”#include<stdio.h>#inc

2022-03-26 12:53:31 177

原创 华为机试HJ3 明明的随机数

描述明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \le val \le 500 \1≤val≤500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果

2022-03-26 12:53:20 903

原创 华为机试HJ2 计算某字符出现次数

描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA输出:2解析:知识点:考察ASCII码空格:十六进制 20数字0:十六进制 30

2022-03-26 12:53:10 147

原创 机器学习三 基于最大熵模型实现对mnist数据集的分类

原理分析:代码分析: 最大熵 利用拉格朗日乘子法将最大熵模型由一个带约束的最优化问题转化为一个与之等价的无约束的最优化问题。利用对偶问题的等价性,将原始问题转换为一个max min问题。 可以利用拉格朗日乘子法获取p。 首先计算拉格朗日函数L对p(y|x)的偏导数 1.初始化数据①对data数据转化为0-1浮点型 进行归一化处理②将label值进行二值化2.最大熵训练①对各参数初始化②计算(x, .

2022-03-26 12:52:41 855

原创 机器学习三 基于逻辑斯谛回归模型实现对mnist数据集的分类

原理分析:代码分析: 逻辑斯谛 1.初始化数据①对data数据转化为0-1浮点型 进行归一化处理②将label值进行二值化2.逻辑斯谛回归训练①按照二项逻辑斯蒂回归模型,将w与b合在一起,②将数据集由列表转换为数组形式③设置步长和迭代次数步长为0.001迭代次数为300④迭代iter次进行随机梯度下降极大化似然函数,但是似然函数由于有求和项,并不能直接对w求导得出最优w,所以需要对似然函数求和部分中每一项...

2022-03-25 16:09:07 154

原创 机器学习二 基于决策树模型实现对mnist数据集的分类

原理分析:决策树信息增益信息增益算法信息增益比生成决策树(c4.5算法)代码分析:决策树(1)加载数据①读取数据,分割放入列表②将label值二值化,>=5为1,<5为0③将data值二值化,=0的为0,不等于0的为1④放入矩阵中 (2)求最优特征:计算信息增益比 ①计算特征数 =Train_label.shape[1] ②计算信息熵HD 统计每个特征的label值,在进行运算.

2022-03-25 16:04:43 576

原创 机器学习二 基于朴素贝叶斯模型实现对mnist数据集的分类

原理分析朴素贝叶斯算法 朴素贝叶斯方法是贝叶斯定理与特征条件独立假设相结合的分类方法。对于给定的训练数据,首先基于特征条件独立假设学习输入输出的联合概率分布;再利用贝叶斯定理算出后验概率最大的类。朴素贝叶斯算法拉普拉斯平滑代码解析: 朴素贝叶斯 (1)加载数据 ①加载数据,将mnist二进制数据集加载成矩阵形式 ②将label值二值化,label>=5时为1,label<5时为0 ③将data值二值化,当data=0...

2022-03-25 16:00:47 2500

原创 数据库三 数据安全管理–视图、访问控制

【实验名称】:数据安全管理–视图、访问控制【实验目标】:理解视图消解机制; 理解视图的可更新性;分析更新过程中出现失败的原因; 理解视图的安全性支持。 学会使用grant和revoke命令来操作用户的权限,包括系统、对象等权限; 理解基于角色的访问控制;【实验具体要求】:视图视图的消解与更新 根据学生表、教师表、课程表、学生选课表,创建一个包含学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名的视图v_stu_lesson; 对视图v_stu_lesson

2022-03-25 15:52:55 2751

原创 机器学习一 基于K近邻法算法实现对mnist数据集的分类

原理解析: K近邻法算法 原理 K近邻法的含义就是k个最相近的“邻居”。将待测试的数据每个特征和训练样本数据的每个特征进行比较,然后提取k个最邻近的训练样本数据,统计这k个训练样本数据的分类标签,其中出现次数最多的标签所表示的类别就是待测试数据的类别。 算法:根据给定的距离量度方法(这里我们选择使用欧氏距离)在训练集T中找出与x最相近的k个样本点,并将这k个样本点所表示的集合记为Nk(x); 欧式距离: 根据如下所示的多数投票的原则确..

2022-03-25 15:52:30 1322

原创 机器学习一 基于感知机模型实现对mnist数据集的分类

原理分析 ①感知机 原理 设输入空间(特征空间)为 X ⊆ R ,输出空间为Y = { − 1 , + 1 } ,输入 x ∈ X为实例的特征向量 输出 y ∈ Y为实例的类别,由输入空间到输出空间的如下函数称为感知机 f(x) = sign(wx+b) 其中w和b为模型参数,w ∈ R n 称为权值,b ∈ R b称为偏置。sign是符号函数。 感知机模型有直观的几何解释:线性方程 w x + b = 0对应于分离超平面S,其中w为S...

2022-03-25 15:45:52 1708

原创 数据库四 事务管理机制

【实验名称】:事务管理【实验目标】:通过实验理解事务机制,包括事务的提交、回滚以及死锁; 事务的并发控制; 理解脏读【实验具体要求】: 利用事务完成如下修改:将教师号“1”修改为“4”,同时修改所有使用该教师号作为外键关联的表中的该字段的值;(不能使用on update约束进行修改,需要先删除外键才能成功) 创建一个银行账户表,该表包含两列,第一列为账户id,第二列为账户金额。在表中创建两个账户,一个为存储账户,一个为支出账户。存储账户的id为1,金额为100,支出账户的id为2

2022-03-25 15:40:27 2493

原创 数据库二 查询 – SELECT语句

【实验名称】:查询 – SELECT语句【实验目标】:掌握使用IS NULL, LIKE, BETWEEN… AND等谓词的查询; 掌握时间字段上的查询; 掌握集合函数查询; 掌握使用order by,group by,having等子句的查询。 掌握连接查询;包括左连接、右连接、外连接、自连接; 掌握子查询。【实验具体要求】:查询性别为男的所有学生的学号、姓名和班级号,结果按照班级ID倒序排列;(order by) 查询学号以2002开头的学生信息,字段包括学号、姓名、班级号;(

2022-03-25 15:32:26 2664

原创 数据库一 数据库的建立—DDL&DML

【实验名称】:数据库的建立—DDL&DML【实验目标】:(1) 使用任何一种交互工具创建DDL脚本,包括创建、修改、删除、展示表结构,字段类型的指定及修改,主键、候选键和外键的指定;(2) 创建、删除索引;(3) 创建、删除视图;(4) 数据的插、删、改等操作;【实验具体要求】:使用sql语句创建所有的表; 使用alter命令修改表结构,删除教师表中的“title” 字段,然后再添加到表中;修改学生表中的“sex” 字段的类型为char(2); 在教师...

2022-03-25 15:28:53 3575

原创 华为机试题c语言 HJ1 字符串最后一个单词的长度

题目:描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8 解析:思路:从后往前循环,累加计数count,直到遇到第一个空格停止。注意事项:c的输入输出

2022-03-25 15:16:50 1276

dsml机器学习优化课程笔记

dsml机器学习优化课程笔记

2023-12-22

空空如也

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

TA关注的人

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