網站首頁 編程語言 正文
密碼學中的高級加密標準(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 的大小,所以視頻內容只有幾秒的時間。想要獲得完整視頻,可以使用爬蟲,將所有的視頻片段爬取下來,然后逐個解密,將解密后的內容以二進制流的形式追加到一個視頻文件上,這樣最后得到的視頻就是完整的視頻。
原文鏈接:https://blog.csdn.net/m0_46190471/article/details/129115278
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-03-27 C語言中const,指針和引用的關系_C 語言
- 2022-04-14 c語言的程序環境與預處理詳解_C 語言
- 2022-11-02 Python?IDLE設置清屏快捷鍵的方法詳解_python
- 2022-08-05 詳解C#通過反射獲取對象的幾種方式比較_C#教程
- 2022-09-29 ASP.NET?MVC實現多選下拉框保存并顯示_實用技巧
- 2023-01-17 Qt中控件的函數使用教程分享_C 語言
- 2022-09-02 SQL注入的四種防御方法總結_數據庫其它
- 2022-12-24 Docker中redis安裝及測試教程_docker
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支