自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录一些有用的东西

业精于勤 荒于嬉 行成于思 毁于随

  • 博客(30)
  • 收藏
  • 关注

原创 Python装饰器(一次搞清楚)

Python装饰器是一种语法糖,用于在不改变原有函数代码的情况下,为函数添加额外的功能。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数,通常使用@语法糖来应用装饰器。1.装饰器本质是一个函数,可称之为函数装饰器;2.装饰器也是一个闭包,即在非全局范围内定义的函数可以引用其外围空间中的变量;3.装饰器以一个函数作为参数,并且返回值也是一个函数;4.装饰器不能修改被装饰的函数代码;不能修改被装饰函数的调用方式;

2023-10-09 20:37:00 1086

原创 三次握手和四次挥手小结

三次握手和四次挥手内容小结,即TIME_WAIT为2MSL的说明

2022-08-14 17:03:51 652 1

原创 数据结构之——跳表说明及实现

调表的简要说明即实现

2022-07-28 22:35:52 406

原创 CSRF第N次学习——搞清楚攻击为什么能成功

最近在看微服务认证及鉴权的设计方案,在了解了token的相关存储及技术之后(session、cookie、jwt等),发现token安全也是非常关键的一个方面。本以为对于XSS、CSRF这种常见安全问题已经足够熟悉,结果发现依然是一知半解,完全是没有理解通透。故在此做个总结。......

2022-07-28 22:06:08 928

原创 Request Line is too large (xxxx > 4094) 问题处理

那曾经使我悲伤过的一切,也是我最热爱过的一切。#1 解决方法4094是gunicorn的默认GET请求长度限制,报 Request Line is too large (xxxx > 4094) 可先确认是否为gunicorn配置问题。通过以下命令查看gunicorn相关配置参数:gunicorn --help --limit-request-line INT The maximum size of HTTP request line in.

2021-12-21 08:51:30 2116

原创 Python易忽略要点记录二

为天地立心,为生民立命,为往圣继绝学,为万世开太平。类的基本注意点私有变量1.变量名如果以双下划线__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问。2.如果外部代码要获取相应的私有变量,可定义get_xxx方法,如果想修改,定义set_xxx方法。3.在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,自己定义时不要使用这种命名方法。4.看一个例子:class Student(object): de.

2021-12-16 23:16:11 642

原创 Python易忽略要点记录一

想要拥有不平凡的人生,请先拿出不平凡的努力。前言此内容为学习廖雪峰Python教程的学习笔记,内容是个人认为常常疏忽或是未了解的知识点,不具连贯性,如要学习Python,推荐前往廖雪峰官方站点学习。基础常见问题编码问题1.在最新的Python 3版本中,字符串是以Unicode编码的。2.字符串默认类型为str类型,在内存中以Unicode表示,一个字符对应若干个字节。3.这常常会导致一些问题,特别是在进行相关字符串加密解密时,一定要考虑到先把字符串转为以字节为单位的bytes 可以直接转.

2021-12-16 23:10:53 2202

原创 Linux重定向

一辈子很长,请一定要和能让你笑的人在一起。#1 linux输出重定向$ command > file 2>&1$ command >> file 2>&1这里的**&**没有固定的意思放在**>后面的&,表示重定向的目标不是一个文件**,而是一个文件描述符,内置的文件描述符如下1 => stdout2 => stderr0 => stdin换言之 2>1 代表将stderr重定向到当前路径下.

2021-12-13 23:20:16 135

原创 git常用命令记录

在自己的世界里独善其身, 在别人的世界里顺其自然。删除远程分支# 方法一:git push origin --delete branchName#方法二:推送一个空分支到远程分支,其实就相当于删除远程分支git push origin :branchName查看本地分支与远程分支关联情况git branch -vv # 查看本地分支与远程分支关联情况git branch # 查看本地分支git branch -a # 查看所有分支(包括本地和远程)git branch.

2021-12-13 23:15:00 741

原创 DjangoRestFramework使用总结

本文主要描述DjangoRestFramework的相关内容,内容比较全,可以当使用手册使用。

2021-12-13 21:51:46 3945

原创 C++面向对象知识总结

面向对象三大特性?1.封装性:数据和代码捆绑在一起,避免外界干扰和不确定性访问。2.继承性:让某种类型对象获得另一个类型对象的属性和方法。3.多态性:同一事物表现出不同事物的能力,即向不同对象发送同一消息,不同的对象在接收时会产生不同的行为(重载实现编译时多态,虚函数实现运行时多态)public/protected/private的区别?public的变量和函数在类的内部外部都可以访问。protected的变量和函数只能在类的内部和其派生类中访问。p

2021-12-13 14:28:40 834

原创 C++基础知识总结

如果一个世界都能在弹指一挥间灰飞烟灭,一个人的终结也就应该如露珠滚下草叶般平静淡然常量指针const int *a和指针常量 int * const a 区别const int a;int const a;const int *a;int *const a;1.int const a和const int a均表示定义常量类型a。2.常量指针是一个指针,读成常量的指针,指向一个只读变量。如int const *p或const int *p。3.指针常量是一个不能给改变指向的指针。如int

2021-12-12 15:55:27 511

原创 git入门及使用记录

静看光阴荏苒,借我喑哑无言前言此文用于记录学习git,学自廖雪峰老师的教程,有需要者可看这:Git教程Git简介1.Git是目前世界上最先进的分布式版本控制系统2.CVS和SVN都是集中式的版本控制系统3.CVS作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用。由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况。同样是开源而且免费的SVN修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制系统。初始化一个Git仓库首先,先上一张图,方便大家

2021-12-12 15:50:49 304

原创 Mysql常用命令2

数据库的导入导出cmd命令:找到安装mysql的路径,如:F:\tool\phpstudy\PHPTutorial\MySQL\bin导出:输入导出命令:如:F:\tool\phpstudy\PHPTutorial\MySQL\bin> mysqldump -uroot -p***** security > sc.sql注: 此处-uroot,-u后跟用户名(root);-p后跟用户密码(******);sc为目标数据库名,sc.sql为保存sql脚本的名称。自定义;在上述导出的s

2021-12-12 14:29:00 79

原创 Mysql常用命令

前言:最近在学习SQL注入,以sqli-labs练习,可是自己对MySQL感到很陌生,故在此学习一下。连接与退出MySQL格式:mysql -h主机地址 -u用户名 -p用户密码连接到本机上的MySQL:首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输密码。注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。连接到远程主机上的MySQL。假设远程主机的IP为:110.110.110.110

2021-12-12 14:27:19 465

原创 几个基础且常用的数学算法

前言:此文用于记录学习过程中常用到的函数(较高效的算法)。同时,对函数的原理进行描述,对于相关的更为细致的描述,可以参考文中的参考,写的很好,值得多看。求最大公因子1.迭代:# 欧几里得算法求两个数字的最大公约数# 迭代:def gcd(a, b): while b != 0: tem = a % b a = b b = tem return a2.递归:# 欧几里得算法求两个数字的最大公约数# 递归:def gcd(a,

2021-12-12 14:23:59 455

原创 sqli-labs 21-28

Less-211.直接用我们知道的用户名密码都为:admin的进行尝试,发现:2.发现Cookie为:uname = YWRtaW4=说明对其进行了base64编码,那就编码看看:在线编码解码YWRtaW4=就是admin,确实是base64编码,那就是说构造的语句也要进行base64编码。还是在Cookie中构造:uname=admin' and extractvalue(1,concat('~',(select database()))) #编码后uname=YWRtaW4nIGFuZCB

2021-12-12 14:10:00 250

原创 XSS学习之xss20

前言这是比较简单的xss练习小游戏,非常适合入门。一直以来,对xss的内容总感觉有一些屏障,应该是因为动手实践太少。所以,趁此机会,好好学习一番,打好基础,以后再继续深入。关于xss1.概念:XSS攻击全称跨站脚本攻击(Cross-Site Scripting,XSS)是一种经常出现在 WEB 应用程序中的计算机安全漏洞。其是由于 WEB 应用程序对用户的输入过滤不足而产生的。攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取 Cook

2021-12-12 13:52:15 2923

原创 sqli-labs 1-10

前言:此文用于记录学习SQL注入过程中的所得所思,文中参考大佬的解题方法。做题过程中的各种知识在mysql数据库中,单行注释有#和--,在实际操作中#号一般用%23来表示。而--则用--+来表示。因为在URL中,如果在最后加上-- ,浏览器在发送请求的时候会把URL末尾的空格舍去,而用--+代替--,原因是+在URL被URL编码后会变成空格。与数据库相关的内容:information_schema,系统数据库,包含所有数据库相关信息。information_schema.schemata中

2021-12-12 13:46:40 131

原创 sqli-labs 11-20

Less-11手工注入1.开始为post类型的注入,先加个单引号,报错如下。构造出SQL语句应该为:select username,password from users where username=' ' ' and password=' 2' limit 0,1; 也即是password字段被单引号包含了' and password=',导致 出现2' limit 0,1;引号不匹配的情况。下图看起来更直观些。2.所以,可构造如下语句:' # 。 #把后面的都注释掉,然后在其前面加上自己构

2021-12-12 13:41:32 338

原创 基于RSA的数字签名方案

算法分析RSA签名方案是目前使用较多的一个签名方案,它的安全性是基于大整数因式分解的困难性。主要包括算法:秘钥生成算法:签名算法:验证算法:

2019-01-11 20:21:32 9242 2

原创 公钥密码之RSA

算法分析RSA是最早的公钥密码系统之一, 广泛用于安全数据传输。RSA的基础是数论的欧拉定理,它的安全性依赖于大整数因式分解的困难性。RSA算法主要由密钥生成、加密和解密三个部分组成。密钥生成:a 选择两个大素数

2019-01-11 20:21:06 1509

原创 哈希函数之MD5

1.MD5算法是输入长度小于`2^64`比特的消息,输出为128比特的消息摘要。2.输入消息以512比特的分组为单位处理。

2019-01-11 20:20:42 2885

原创 分组密码之DES

1.DES是一个对称密码体制,加密解密使用同一秘钥,有效密钥长度为56比特。2.DES是一个分组密码算法,明文分组和密文分组长度均为64比特。3.DES使用Feistel结果,具有加密相似特性,加解密算法相同,只是解密子密钥与加密子密钥的使用顺序相反。4.DES由初始置换,16轮迭代,逆初始置换组成。

2019-01-11 20:20:31 3057

原创 古典密码之仿射密码

1.仿射密码结合了移位密码和乘数密码的特点,是移位密码和乘数密码的组合。2.仿射密码的加密算法就是一个线性变化,即对明文字符x,对应的密文字符为y=ax+b(mod26)其中,a, b属于Z26且gcd(a,b)=1

2019-01-11 20:20:15 2815

原创 序列密码之RC4

算法分析RC4是一个典型的基于非线性数组变换的序列密码。它以一个足够大的数组S为基础,对其进行非线性变换,产生非线性的密钥流序列。RC4算法S盒的大小根据参数n的值而变化,通常n=8,这样RC4可生成256个元素的数组S种子密钥长度为1~ 256个字节(8~2048比特)的可变长度,用于初始化256个字节的初始向量SRC4有两个主要算法:密钥调度算法(KSA):用于打乱S盒的初始排...

2019-01-11 20:19:58 1892

原创 最优装载问题(回溯法)

回溯法一般解题步骤分为三步:针对所给问题,定义问题的解空间确定易于搜索的解空间结构(一般为子集树或者排列树)以深度优先的方式搜索解空间,并且在搜索过程中用减枝函数避免无效搜索空间树1.其中子集树就是选一部分,比如0-1背包问题,装载问题;2.而排列树就是选所有,只是顺序不一样,例如旅行商(邮递员)问题.3.空间树理解:​​​​假设装载的集装箱n=3,则空间树可以表示为上图...

2019-01-11 19:22:09 6259

原创 最长公共子序列(LCS)

 1、算法 // L[m][n],S[m][n]定义为全局变量 //算法c++描述——最长公共子序列问题 int CommonOrder(int m, int n, int x[ ], int y[ ], int z[ ]) { for (j=0; j<=n; j++) //初始化第0行 L[0][j]=0; fo...

2019-01-11 19:10:35 137

原创 Word生成目录

之所以写这篇文章,是因为每次写报告都需要生成相应目录,但常常只记得个大概,最终还得要重新百度,十分头疼,故在此记录一下。大概分为3个步骤步骤1 设置标题级数有两种方法:方法一:选中“第一章”,单击“样式”右边的“一横 + 小三角”图标,选择“标题”;选中 1.1,单击“样式”右边指向上的小三角,找到“标题1”,单击它把 1.1 设置为标题1的样式;选中 1.1.1,单击“样式”右边指...

2019-01-02 22:50:28 1056

原创 0-1背包问题的动态规划法与回溯法

一、动态规划状态转移方程:从前往后:if(j>=w[i]) m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i]);else m[i][j]=m[i-1][j];从后往前:if(j>=w[i]) m[i][j]=max(m[i+1][j],m[i+1][j-w[i]]+v[i]);else m[i][j...

2018-11-22 22:30:08 1816

空空如也

空空如也

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

TA关注的人

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