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

如何用Unix终端命令解密PHP openssl_encrypt生成的AES-256-CTR密文

用Unix终端解密PHP openssl_encrypt生成的AES-256-CTR密文

你的终端解密命令失败的核心原因是:openssl enc的-K(密钥)和-iv(初始向量)参数要求传入十六进制格式的值,但你直接传入了明文字符串。而PHP的openssl_encrypt会直接将$password和$iv的原始字符串字节作为密钥和IV使用,因此需要先把这些字符串转换成十六进制,再传入终端命令。

正确的解密命令

echo -n "3fd4e82b5c21ad4c2abd74" | xxd -r -p | openssl enc -aes-256-ctr -K 3132323435363738393261626364656631323331353637333930613163646532 -iv 33323334333637383930666263656566 -d -nosalt

参数转换说明

  • PHP中的密码字符串1224567892abcdef1231567390a1cde2,每个ASCII字符转换为两位十六进制后,得到3132323435363738393261626364656631323331353637333930613163646532,作为-K的参数。
  • PHP中的IV字符串3234367890fbceef,转换为十六进制后得到33323334333637383930666263656566,作为-iv的参数。

执行上述命令后,即可输出明文hello world。

内容的提问来源于stack exchange,提问作者A.K.M.Touhidul Islam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:00:39