LyShark®

信息安全电子刊物出版品牌

OpenSSL 中的 `SSL` 加密是通过 `SSL/TLS` 协议来实现的。`SSL/TLS` 是一种安全通信协议,可以保障通信双方之间的通信安全性和数据完整性。在 `SSL/TLS` 协议中,加密算法是其中最核心的组成部分之一,SSL可以使用各类加密算法进行密钥协商,一般来说会使用`RSA`等加密算法,使用`TLS`加密针对服务端来说则需要同时载入公钥与私钥文件,当传输被建立后客户端会自行下载公钥并与服务端完成握手,读者可将这个流程理解为上一章中`RSA`的分发密钥环节,只是`SSL`将这个过程简化了,当使用时无需关注传输密钥对的问题。

阅读全文 »

CRC文件校验是一种用于验证文件完整性的方法,通过计算文件的`CRC`值并与预先计算的`CRC`校验值进行比较,来判断文件是否发生变化,此类功能可以用于验证一个目录中是否有文件发生变化,如果发生变化则我们可以将变化打印输出,该功能可用于实现对特定目录的验证。首先实现文件与目录的遍历功能,递归输出文件或目录,在`Python`中有两种实现方式,我们可以通过自带的`os.walk`函数实现,也可以使用`os.listdir`实现,这里笔者依次封装两个函数,函数`ordinary_all_file`使用第一种方式,函数`recursion_all_file`使用第二种,这两种方式都返回`_file`列表,读者可使用列表接收输出数据集。

阅读全文 »

使用`CRC32`还可实现图片去重功能,如下`FindRepeatFile`函数,运行后通过对所有文件做`crc`校验并将校验值存储至`CatalogueDict`字典内,接着依次提取`CRC`特征值并将其存储至`CatalogueList`列表内,接着通过统计特征值出现次数并将该次数放入到`CountDict`字典内,最后循环这个字典,并以此输出文件特征与重复次数,将重复值放入到`RepeatFileFeatures`列表内。

阅读全文 »

通过上一节的学习读者应该能够更好的理解`RSA`加密算法在套接字传输中的使用技巧,但上述代码其实并不算完美的,因为我们的公钥和私钥都必须存储在本地文本中且公钥与私钥是固定的无法做到更好的保护效果,而一旦公钥与私钥泄密则整个传输流程都将会变得不安全,最好的保护效果是`RSA`密钥在每次通信时都进行变换,依次来实现随机密钥对的功能。

阅读全文 »

Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作,如打开网页、点击链接、填写表单等,并且可以在代码中实现条件判断、异常处理等功能。Selenium最初是用于测试Web应用程序的,但也可以用于其他用途,如爬取网站数据、自动化提交表单等。Selenium支持多种编程语言,如Java、Python、C#等,同时也支持多种浏览器,如Chrome、Firefox、Safari等。

阅读全文 »

RSA算法同样可以用于加密传输,但此类加密算法虽然非常安全,但通常不会用于大量的数据传输,这是因为`RSA`算法加解密过程涉及大量的数学运算,尤其是模幂运算(即计算大数的幂模运算),这些运算对于计算机而言是十分耗时。其次在`RSA`算法中,加密数据的长度不能超过密钥长度减去一定的填充长度。一般情况下,当RSA密钥长度为`1024`位时,可以加密长度为`128`字节,密钥长度为`2048`位时,可以加密长度为`245`字节;当密钥长度为`3072`位时,可以加密长度为`371`字节。因此,如果需要加密的数据长度超过了密钥长度允许的范围,可以采用分段加密的方法。我们可以将数据包切割为每个`128`个字符,这样就可以实现循环传输大量字符串。

阅读全文 »

BeautifulSoup库用于从HTML或XML文件中提取数据。它可以自动将复杂的HTML文档转换为树形结构,并提供简单的方法来搜索文档中的节点,使得我们可以轻松地遍历和修改HTML文档的内容。广泛用于Web爬虫和数据抽取应用程序中。

阅读全文 »

在读者了解了加密算法的具体使用流程后,那么我们就可以使用这些加密算法对网络中的数据包进行加密处理,加密算法此处我们先采用`AES`算法,在网络通信中,只需要在发送数据之前对特定字符串进行加密处理,而在接收到数据后在使用相同的算法对数据进行恢复即可,读者如果有了套接字编程的基础,那么理解这段代码将变得很容易。

阅读全文 »

AES算法是一种对称加密算法,全称为高级加密标准(Advanced Encryption Standard)。它是一种分组密码,以`128`比特为一个分组进行加密,其密钥长度可以是`128`比特、`192`比特或`256`比特,因此可以提供不同等级的安全性。该算法采用了替代、置换和混淆等技术,以及多轮加密和密钥扩展等机制,使得其加密效果优秀,安全性高,被广泛应用于各种领域中,如数据加密、文件加密、网络安全等。

阅读全文 »

Request库可以用来发送各种`HTTP`请求,该框架的特点是简单易用,同时支持同步和异步请求,支持`HTTP`协议的各种方法和重定向。它还支持`Cookie`、`HTTPS`和认证等特性。 `Request`库的使用非常广泛,可以用于网络爬虫、API调用、网站测试等场景。

阅读全文 »