这个
-p
选择权
openssl
它输出键和IV,给出这些垃圾字节。
如果你移除这个
-P
选项从
enc()
功能,那就行了。
用
-a
选项,
OpenSSL
从输入中跳过非base64字符串(即键和IV信息),这就是它工作的原因。
实例:
echo test123 | openssl enc -K 33 -iv 0 -aes-256-ctr -p -nosalt | openssl enc -d -K 33 -iv 0 -aes-256-ctr -p -nosalt
# -> fail
echo test123 | openssl enc -K 33 -iv 0 -aes-256-ctr -p -nosalt -a | openssl enc -d -K 33 -iv 0 -aes-256-ctr -p -nosalt -a
# -> OK
echo test123 | openssl enc -K 33 -iv 0 -aes-256-ctr -nosalt | openssl enc -d -K 33 -iv 0 -aes-256-ctr -p -nosalt
# -> OK