自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 playwright绕过浏览器检测,使用本地浏览器

可以绕过基本上大部分浏览器检测,因为这就是一个真正的浏览器。此方法是playwright与本地浏览器以ws方式通信。此方法不可以在打开了普通版(非第一种情况)的浏览器使用。在上述page下进行浏览器操作即可。在程序中添加下面的代码即可。

2023-08-27 19:03:59 3318 1

原创 python爬虫项目实战--从小白到大神,从requests到js逆向

所有项目均为作者,如遇,仅作。由于程序完成的,部分项目可能。练习笔记见此项目将持续更新项目部分实战讲解见b站:https://space.bilibili.com/35242527/channel/collectiondetail?

2023-08-03 20:14:05 1844 3

原创 Flask入门,看这一篇就够了

Flask入门的全套教程,入门flask,看这一篇就够了

2023-06-27 12:57:46 201 1

原创 实验6语义计算

本次三个分类分别为positive,negative和neutral,我们首先预设置了三种情感色彩的句子各30句以txt格式保存作为预训练数据集,其中情感色彩与句子用空格分离,方便提取标签以及内容。初始化定义特征提取以及模型,首先现训练,run_classify这个方法用于输出标签以及语句,下面是测试main函数。可以看出,当句子含义较为明确时,上述的简单分类器有很好的效果。至少给出10个测试用例,用于测试分类算法,并计算分类准确度。掌握文本分类、聚类等语义计算的基本原理;

2023-05-07 18:21:51 110

原创 实验四:视频流 Hash

这个算法比较简单,我们只需要将文件指针直到文件结束,计算文件大小,把文件按照1024字节划分,记录下最后一块不足1024的大小,然后先让前一块hash值为空,开始计算,如果是第一块,则将文件指针执行最后一块的开始,然后读取最后一块数据,然后计算hash,对于之后的情况,每次文件指针向前移动1024字节,然后将文件内容和前一块加密连接,计算出新的hash值,直到遍历完文件结束。然后它计算这个增强的倒数第二个块的散列,并将得到的散列附加到最后的第三个块。系统:Windows 10。编译语言:python。

2023-05-07 14:22:58 180

原创 实验三:AES

下面是解密函数的实现,首先,我们确定一下密文的类型,统一转到字节类型,然后去除密文前面的向量,初始化一个aes的密码本模式对象,我们将iv和密文分离,对于每一块,我们先解密,在和前一个密文块进行异或,得到的结果添加到明文空间,最后输出民文,这里我们将密文最后的填充部分给去除了。之后我们定义一个密文空间,是字节数组对象,将向量的值放到字节数组的前面,对于每一个明文块和密文快进行异或操作后,送入aes进行加密,加密的结果作为下一个密文块,以此类推,最后返回这个密文。编译语言:python。

2023-05-07 14:19:34 559

原创 实验二:Many Time Pad

接下来是获取密钥,同样定义一个集合用来存放密钥,我们将可能出现空格的位置的值异或上32(空格的10进制表示)将位置和结果添加到key中,之后生成一个全0的密钥,大小为密文中最长的那条大小,再针对同一个位置出现了不同的值的情况,我们可以后期微调密文,这样效果会更好,这个函数返回猜测的密钥。由此特点,如果某一个明文上某个位置为空字符,则对应密文的该位置与其他密文的该位置异或,得到的结果很有可能是大(小)写字母,异或的密文数目越多,其准确性就越高。请使用前 10 个密文进行分析,并对目标密文进行解密。

2023-05-07 14:17:52 187

原创 实验六:RSA攻击

在这里,我们一直N,p,q,e,首先计算fain=(p-1)(q-1),然后计算d,d是e的-1次方在模fain的域下,然后计算解密民文plaintext=密文c的d次方在模N域下,之后把得到的结果转化为int类型,再利用int对象中的to_bytes方法,将整数转化为bytes数组,之后遍历,去除填充,当遇到0时填充结束,输出明文。(提示:在此条件下有20,因此需要从根号n开始搜索 A 的值)。如下的整数 N 是两个素数 p,q 的乘积,且满足|4 ,请分解整数N,并给出其十进制结果。

2023-05-07 14:13:09 116

原创 实验五:Padding Oracle 攻击

Padding Oracle 的实现方式是,当系统收到一个密文后,首先会解密该密文,然后对解密后的明文进行 padding 验证,如果验证失败,则返回 404。在猜测一个字节的值时,需要依次枚举该字节可能的取值,并将该值与前面已经猜测出来的字节的值进行异或,以得到中间结果。对于每个待解密的块,枚举该块中每一个字节的可能取值,然后构造一个新的IV和密文,并向Padding Oracle发送请求,查询是否存在解密失败的情况。对于每次发送的请求,如果返回404,则说明猜测的IV是正确的,我们继续猜测下一个字节;

2023-05-07 14:09:58 874

原创 实验一:Shamir 秘密共享

如果秘密大于大素数,就按照之前定义好的位数依次调高,直到大于秘密值为止,下面简单简述一下判断素数的过程。首先是类的初定义,我们需要提供秘密即info,门限值k,秘密共享人数p给类,然后定义了大素数,我们调用创建大素数函数,最开始创建一个16位的大素数,然后进行一些类对象的初始化,最后执行检查,检查主要是检查大素数是否大于秘密的值,如果没有进行这一步,那么就无法恢复秘密,因为拉格朗日插值计算要在大素数域内计算,如果你的消息值大于这个数,那么肯定无法还原,接下来我们看一下创建以及检查函数的实现。

2023-04-17 20:36:02 2355

原创 Middleware中间件的设置

使用代理ip后selenium的无头模式关闭可能会引发错误,解决方案目前还没有找到。其中get_ua就是从fakeuseragent.py文件中引入的,下面将展示这个文件。之后在工程文件中配置SelniumRequest.py。在发送request的时候拦截使用selenium。拦截响应的时候添加selenium。只需要修改将代理ip的信息删除即可。在特定情况使用selenium。FakeUserAgent类。这个代理是快代理的隧道代理。基本上无法使用,不推荐。固定Cookie的设置。

2023-01-11 11:40:24 252

原创 基于scrapy模板的可持久化存储

首先我们需要在mysql中创建好对应的数据库以及表。我们在Pipeline中定义如下类。之后在Pipeline中创建好类。在setting中添加如下信息。存储为csv文件类型。

2023-01-11 11:39:45 55

原创 SHU——算法设计实验三:最长公共子序列

但是运行的时候发现,每次都会输出无公共子序列,我很疑惑,最后突然发现,我们每次递归调用的最后,i和j总是等于0,然后退出递归调用,但是我们的c矩阵的第一行和第一列全为0,所以不管我们怎么调用,到最后一定会有c[i][j]=0的情况,这个时候,我们只需要把判断语句放到结束递归的后面,就可以成功运行了。我们先拿出X序列的第一个A与Y序列进行一一对比,如果两者相等,则该位置的值将更改为他的对角线上方的值加一,如例子中的两组序列,他们的第一个字符相同,则c[1][1]的值将更改为c[0][0]+1=1;

2022-11-11 10:56:30 509

原创 SHU--算法设计实验二:矩阵连乘问题

在这次实验的过程中,如何得知是哪个地方要加括号这个问题我思考了很久,在一遍遍理清楚整个算法的过程后,我有了初步的了解,加括号的位置其实就是k 的对应序号的矩阵,在写算法时我们就可以用另外的数组记录下对应位置的k值。在分析问题的最优子结构性质时,所用的方法具有普遍性:首先假设由问题的最优解导出的子问题的解不是最优的,然后再设法说明在这个假设下可构造出比原问题最优解更好的解,从而导致矛盾。设计算A[i:j](矩阵A从i乘到j),1≤i≤j≤n,所需要的最少数乘次数m[i,j],则原问题的最优值为m[1,n]。

2022-11-11 10:43:49 909

原创 SHU--算法设计实验一:棋盘覆盖问题

SHU算法设计实验一,内涵完整可运行提交代码

2022-11-11 10:31:37 1009

实验 6 语义计算 1. 实验目的

实验 6 语义计算 1. 实验目的  掌握文本分类、聚类等语义计算的基本原理;  掌握常用语义计算 NLP 工具包的使用; 2. 实验时间 2 学时。 3. 实验内容 1)文本分类实验 使用任意方法或 NLP 工具,编写文本分类程序。 要求: 1 2 至少包含 3 个分类。 至少给出 10 个测试用例,用于测试分类算法,并计算分类准确度。 2)文本聚类取实验使用任意方法或 NLP 工具,编写文本聚类程序。 要求: 1 需要 2 个测试集的重复实验。 2 每个测试集文档数目大于 30 个,明确类别大于 2 个. 3 计算聚类准确度。 4. 实验要求 1)提交实验报告,给出详细实验过程和结果; 2)提交源代码和可执行程序。

2023-05-07

实验 5、Padding Oracle 攻击

实验 5、Padding Oracle 攻击 实验目的: 理解 padding oracle 攻击的过程,验证攻击的可行性。 实验准备: 网站 crypto-class.appspot.com 部署了一个填充预言机的模拟示例,请搭建 可以访问上述地址的实验环境。 实验要求: 假设攻击者想要利用上述网站的返回结果窃取信息。攻击者通过观察得 知:网站将用户的数据加密后利用 URL 参数进行传输,例如: http://crypto￾class.appspot.com/po?er=f20bdba6ff29eed7b046d1df9fb7000 058b1ffb4210a580f748b4ac714c001bd4a61044426fb515dad3f 21f18aa577c0bdf302936266926ff37dbf7035d5eeb4 当用户 Alice 和网站进行交互时,网站将上述 URL 发送给 Alice。攻击者 猜测在"po?er="这一 URL 变量的值可能 Alice 会话中的一个一些秘密数据。该 数据使用 AES CBC(随机初始向量加密)模式进行加密并将加密结果使用

2023-05-07

实验三、AES的CBC以及CTR模式

实验三、AES 实验目的: 理解 AES 算法的不同工作模式。 实验要求: 实现两个基于 AES 的加密/解密系统,一个在 CBC 模式下使用 AES,另 一个在 CTR 模式下使用 AES。 在这两种情况下,16 字节的初始向量 IV 都 是随机选择的,并已放在密文中。对于 CBC 加密,请使用课程中讨论的 PKCS5 填充方案。 以下提供了解密过程正确性的测试用例。测试用例包含了 AES 密钥和一个 密文(两者都是十六进制编码的),需要恢复出明文并在实验报告中展示结果。 • Case 1: CBC key: 140b41b22a29beb4061bda66b6747e14 CBC Ciphertext 1: 4ca00ff4c898d61e1edbf1800618fb2828a226d160dad07883d04 e008a7897ee2e4b7465d5290d0c0e6c6822236e1daafb94ffe0c5 da05d9476be028ad7c1d81 • Case 2: CBC key: 140b41b22a29beb4061bda66b6747e14 CB

2023-04-17

实验二、Many Time Pad

实验二、Many Time Pad 实验目的: 我们已经证明一次一密在已知密文攻击下是安全的。本次实验将尝试探索当密钥 被重复使用时的已知密文攻击方法。 实验要求: 如下所示是 11 个使用同一个密钥按照 one time pad 方法进行加密得到的密文。 请使用前 10 个密文进行分析,并对目标密文进行解密。其中消息是[a-zA-Z]以 及空格组成的字符,使用 ascii 编码,密文使用 hex 编码。 ciphertext #1: 315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a804e5ee9fa40b163 49c146fb778cdf2d3aff021dfff5b403b510d0d0455468aeb98622b137dae8575 53ccd8883a7bc37520e06e515d22c954eba5025b8cc57ee59418ce7dc6bc4155 6bdb36bbca3e8774301fbcaa3b83b220809560987815f65286764703de0f3d52 4400a19b159610b

2023-04-17

实验一、Shamir 秘密共享

实验一、Shamir 秘密共享 实验目的: 巩固对 Shamir 秘密共享算法的理解 实验要求: 实现一个(k,n)-Shamir 秘密共享方案,其中 k=3,n=4,包含以下功能: (1) 给定一个数字,可以计算出对应的 share (2) 给定 k 个 share, 能够重构出秘密值。 *语言不限 实验报告要求: 1.分析 Shamir 秘密共享的基本算法过程。 2. 提供正确运行的程序,加上必要的注释及运行结果截图。 3.设计、开发中的问题及实验体会。 进阶要求: 1. 设计并实现简单的图形化界面,可参考下图

2023-04-17

获取伪造的谷歌User-Agent

采用request编写,可直接允许,结果返回当前所有最新的User-Agent,运行完毕可以在本地会生成一个文件,里面的内容可以之间放到列表中

2023-01-11

SHU-算法设计实验三:最长公共子序列问题

内含完整的实验代码,可运行可提交,以及格式化实验报告

2022-11-11

SHU-算法设计实验二:矩阵连乘问题

内涵完整可运行提交代码和格式化报告

2022-11-11

SHU-算法设计实验一

实验一的完整代码加报告

2022-11-11

空空如也

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

TA关注的人

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