溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密

發(fā)布時間:2023-02-24 16:18:36 來源:億速云 閱讀:145 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密”,在日常操作中,相信很多人在python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

密碼學中的高級加密標準(Advanced Encryption Standard,AES),又稱Rijndael加密法。

在做網(wǎng)絡爬蟲的時候,會遇到經(jīng)過AES加密的數(shù)據(jù),可以使用python來進行解密。

在做爬蟲的時候,通常可以找到一個key,這個key是一個十六進制的一串字符,這傳字符是解密的關鍵。所以對于想要解密的內(nèi)容,首先要找到這個key,一般在Chrome瀏覽器按F12鍵,在network里面可以找到這個key。如下圖:

python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密

本例中,以一個視頻片段為例,視頻片段我已經(jīng)事先保存到電腦中。此時處于加密狀態(tài)。打開后會出現(xiàn)下面的結果:
“此文件無法播放。這可能是因為文件類型不受支持、文件擴展名不正確或文件已損壞?!?/p>

python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密

這個加密的視頻片段為 “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)    # 創(chuàng)建一個解密器

decryption = cryptor.decrypt(content)

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

這里的大致思路就是把加密的二進制文件讀取下來,然后解密,再寫入文件,這時再打開就可以看到正常的視頻了。

網(wǎng)絡上的視頻流數(shù)據(jù),都是分片發(fā)送的,也就是一個個的片段。每個片段只有幾百 kb 的大小,所以視頻內(nèi)容只有幾秒的時間。想要獲得完整視頻,可以使用爬蟲,將所有的視頻片段爬取下來,然后逐個解密,將解密后的內(nèi)容以二進制流的形式追加到一個視頻文件上,這樣最后得到的視頻就是完整的視頻。

到此,關于“python如何實現(xiàn)對AES加密的視頻數(shù)據(jù)流解密”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI