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:

이 오류의 원인을 아는 사람이 있습니까? 그는 성공적으로 암호를 해독했기 때문에 무엇을 잃었는지 잘 모르겠습니다.

관련 정보