使用 openssl 解密时出现“错误解密”错误

使用 openssl 解密时出现“错误解密”错误

我创建了两个脚本来加密和解密文件内的密码。

加密脚本如下:

set -x
PFILE=/home/user/crypt/pfile
echo "changing PASSWORD"
P=`echo 'rawpassword' | openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -pass pass:'secret'`
sed -i "/PASSWORD=/ s|=.*|=${P}|" $PFILE

解密密码为:

PFILE=/home/user/crypt/pfile

PASSWORD=$(sed -n 's|^PASSWORD=||p' $PFILE)
pass=`echo $PASSWORD | openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -d -salt -pass pass:'secret'`

echo $pass

此解密脚本成功显示原始密码,但仍然给出此错误:

bad decrypt
140392493330880:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:../crypto/evp/evp_enc.c:526:

有谁知道是什么导致了这个错误?由于他解密成功,我不确定丢失了什么。

相关内容