from Crypto.Cipher import AES # AES-123 解密导的包 pip install pycryptodome
"""
def new(key: Buffer, # 密钥
mode: AESMode, # 模式 mode=AES.MODE_CBC 直接怼够用了
iv : Buffer = ...,
IV : Buffer = ...,) # 它的偏移量
偏移量:有的m3u8会写,有的没有写,没有写的就直接怼 IV=b"0000000000000000" 16个0
"""
async def des_one(file, key): # 解密每一个ts文件,要把文件名和密钥给我
print("即将开始解密", file)
# 加密解密对象创建
aes = AES.new(key=key, IV=b"0000000000000000", mode=AES.MODE_CBC) # key 密钥 IV 偏移量 mode 模式
# aes.encrypt() # 加密
# aes.decrypt() # 解密 网页明文,预览密文
# 手动创建一个目录,名为 电影_源_解密后
async with aiofiles.open(f"./电影_源_加密后/{file}", mode="rb") as f1,\
aiofiles.open(f"./电影_源_解密后/{file}", mode="wb") as f2: # 读出来的东西,解密完,还要写到新文件里
# 从加密后的文件中读取出来,进行解密,保存到未加密文件中
content = await f1.read()
bs = aes.decrypt(content)
await f2.write(bs)
print("文件已经解密", file)