You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AES-128加密视频OpenSSL解密‘iv undefined’报错解决咨询

AES-128-CBC视频解密的OpenSSL正确操作步骤

核心问题分析

你遇到的错误根源是密钥格式不匹配和IV参数格式错误:OpenSSL的-K和-iv参数只接受纯十六进制字符串,你用的带特殊字符的原始密钥、带0x前缀的IV都会导致解析失败。

具体操作步骤

1. 把原始密钥转成十六进制格式

AES-128要求密钥是16字节(对应32个十六进制字符),你手里的特殊字符密钥得先转成十六进制。直接在终端跑这条命令:

echo -n "—ØËÉްʾC{]5q)pZE4d4:-MBB¬vóRJ”7–Æ­‹5•Õ" | xxd -p

输出的一串纯十六进制字符,就是给-K用的密钥。

2. 修正IV格式

把你提供的IV去掉0x前缀,只保留纯十六进制部分:496daa1c6914000e408c65cead91fc29,确保长度是32个字符(16字节,符合CBC模式要求)。

3. 执行正确的解密命令

根据输入文件是否是Base64编码,选择对应命令:

  • 如果Question1.ts是Base64编码的加密文件:
openssl enc -nosalt -aes-128-cbc -d -in Question1.ts -base64 -K '转换后的十六进制密钥' -iv '496daa1c6914000e408c65cead91fc29' -out output.ts
  • 如果是原始二进制加密文件,去掉-base64参数:
openssl enc -nosalt -aes-128-cbc -d -in Question1.ts -K '转换后的十六进制密钥' -iv '496daa1c6914000e408c65cead91fc29' -out output.ts

(output.ts是解密后的视频文件名,可自行修改)

4. 常见错误排查

  • iv undefined:IV带了0x前缀或者长度不对,检查IV是否是32个纯十六进制字符。
  • non-hex digit:密钥/IV包含非0-9、a-f/A-F的字符,重新转换密钥确保输出是纯十六进制。
  • hex string is too long:密钥长度超过32个十六进制字符,说明原始密钥不是16字节,确认密钥来源是否正确。

内容的提问来源于stack exchange,提问作者Shridhar Salunkhe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 17:40:30