python实现对AES加密的视频数据流解密的方法

 更新时间:2023年02月21日 08:26:23   作者:Jackey_Song_Odd  
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,这篇文章主要介绍了用python实现对AES加密的视频数据流解密,需要的朋友可以参考下

密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法。

在做网络爬虫的时候,会遇到经过AES加密的数据,可以使用python来进行解密。

在做爬虫的时候,通常可以找到一个key,这个key是一个十六进制的一串字符,这传字符是解密的关键。所以对于想要解密的内容,首先要找到这个key,一般在Chrome浏览器按F12键,在network里面可以找到这个key。如下图:

本例中,以一个视频片段为例,视频片段我已经事先保存到电脑中。此时处于加密状态。打开后会出现下面的结果:
“此文件无法播放。这可能是因为文件类型不受支持、文件扩展名不正确或文件已损坏。”

在这里插入图片描述

这个加密的视频片段为 “91j0PUhx.ts”

解密需要导入 Crypto 模块,需要导入 from Crypto.Cipher import AES ,如果导入的语句报错,这里需要使用 pip 安装这个模块,教程我之前的文章中写到过,或者到网上找教程,都会有解决方法,这里不再赘述。

下面直接上代码:

from Crypto.Cipher import AES

import requests
with open("91j0PUhx.ts","rb") as FO:    # 以二进制的形式读取视频片段
    content = FO.read()    # 保存到content中

keyUrl = ""     # 这里字符串中填入找到的 key 的 url
# 这里是十六进制 key 的 url

key = requests.get(keyUrl).content   # 请求 key

cryptor = AES.new(key, AES.MODE_CBC)    # 创建一个解密器

decryption = cryptor.decrypt(content)

with open("decryption.ts", 'ab') as FO:
    FO.write(decryption)

这里的大致思路就是把加密的二进制文件读取下来,然后解密,再写入文件,这时再打开就可以看到正常的视频了。

网络上的视频流数据,都是分片发送的,也就是一个个的片段。每个片段只有几百 kb 的大小,所以视频内容只有几秒的时间。想要获得完整视频,可以使用爬虫,将所有的视频片段爬取下来,然后逐个解密,将解密后的内容以二进制流的形式追加到一个视频文件上,这样最后得到的视频就是完整的视频。

到此这篇关于用python实现对AES加密的视频数据流解密的文章就介绍到这了,更多相关python实现对AES加密的视频数据流解密内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现随机游走的详细解释

    Python实现随机游走的详细解释

    这篇文章主要介绍了Python实现随机游走的详细解释,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 浅谈Python里面小数点精度的控制

    浅谈Python里面小数点精度的控制

    今天小编就为大家分享一篇浅谈Python里面小数点精度的控制,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python和opencv实现抠图

    python和opencv实现抠图

    这篇文章主要为大家详细介绍了使用python和opencv实现抠图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python实现乱序文件重新命名编号

    Python实现乱序文件重新命名编号

    这篇文章主要为大家详细介绍一下Python的一个神操作,那就是实现乱序文件重新命名编号功能,文中的示例代码讲解详细,感兴趣的可以尝试一下
    2022-08-08
  • python实现识别手写数字 python图像识别算法

    python实现识别手写数字 python图像识别算法

    这篇文章主要为大家详细介绍了python实现识别手写数字,python图像识别算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念

    一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念

    这篇文章主要给大家介绍了如何通过一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 一文带你解锁Python文件匹配技巧

    一文带你解锁Python文件匹配技巧

    在日常的文件操作和数据处理中,文件匹配是一个非常常见的任务,本文将详细介绍如何使用 Python 实现文件匹配,有需要的小伙伴可以参考下
    2024-12-12
  • python列表与列表算法详解(2)

    python列表与列表算法详解(2)

    这篇文章主要介绍了Python的列表和列表算法,小编感觉这篇文章具有一定参考价值,需要的朋友可以了解下,希望能给你带来帮助
    2021-08-08
  • pip版本低导致Python离线包安装失败的问题解决

    pip版本低导致Python离线包安装失败的问题解决

    在使用Python进行开发时,安装各种第三方库是必不可少的,不过,有时候我们会遇到一些麻烦,尤其是当pip的版本较低时,下面我们来看看如何解决这一问题吧
    2025-03-03
  • python中Lambda表达式详解

    python中Lambda表达式详解

    在本篇文章里小编给大家整理的是关于python中Lambda表达式的相关知识点内容,有需要的朋友们可以学习下。
    2019-11-11

最新评论