V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kaiqiu
V2EX  ›  程序员

openssl 解密 m3u8 文件出现 EVP_DecryptFinal_ex:wrong final block length:evp_enc.c:528 错误,求大神指点

  •  
  •   kaiqiu · 2017-08-27 19:13:05 +08:00 · 2307 次点击
    这是一个创建于 2444 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下载到一个 3000K 码率 HLS 的 m3u8 文件,下载所有的 TS 文件再进行合并,单个 TS 文件容量 4.5G 多,用 openssl 进行解密,知道是 AES-128-CBC 解密,有 key 文件( 16 字节),用 hexdump 查看密钥发现是 32 字节的,用命令 openssl aes-128-cbc -d -in in_file.ts -out out_file.ts -nosalt -iv 00000000000000000000000000000001 -K XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 进行解密,解密到最后提示 error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:evp_enc.c:528: 查阅过资料出现 EVP_DecryptFinal_ex 函数错误这提示有可能是还有没解密完的数据块,一般情况是密文不正确、不是块大小的整数倍才会出现没解密完的数据块,但是我尝试下载解密其他码率的 m3u8 文件(如 500K,1000K,2000K )用的都是同个密钥,都能成功解密,唯独这个 3000K 的解密出现问题,之后以为是文件下载不完全,后来又下载下载了一直想不通哪里出问题,是因为视频容量太大导致吗?还是我解密的方法有问题,因为这是我第一次解密超过 4G 的文件,过往成功解密都是小于 4GB 的 TS 文件,上面说到的解密出错的 3000K 文件,输出之后前半部分可以播放,后半部分就无法播放,本人 m3u8 菜鸟,望 V2EX 大神指点相救,谢谢了.

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3283 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:30 · PVG 19:30 · LAX 04:30 · JFK 07:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.