opensslを使用してパスワードを復号化するときの「パスワードの復号化中にエラーが発生しました」エラー

opensslを使用してパスワードを復号化するときの「パスワードの復号化中にエラーが発生しました」エラー

ファイル内のパスワードを暗号化して復号化する2つのスクリプトを作成しました。

暗号化スクリプトは次のとおりです。

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:

このエラーの原因を知っている人はいますか?彼はうまく復号したので、何を失ったのか分からない。

ベストアンサー1

おすすめ記事