openssl デコードが echo で動作しません。

openssl デコードが echo で動作しません。

一部のデータを暗号化しました。

echo -n aaaa | openssl enc -aes-128-ecb -K E5E9FA1BA31ECD1AE84F75CAAA474F3A -nosalt -out o

これは正しく復号されます。

base64 o | openssl enc -d -aes-128-ecb -K E5E9FA1BA31ECD1AE84F75CAAA474F3A -nosalt -base64

しかし、これは失敗します。

echo -n 0y14OkIoAkNcGyXft6qZ8w== | openssl enc -d -aes-128-ecb -K E5E9FA1BA31ECD1AE84F75CAAA474F3A -nosalt -base64
bad decrypt
140357156597784:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:evp_enc.c:518:

base64 o返品0y14OkIoAkNcGyXft6qZ8w==

2番目の方法が失敗するのはなぜですか?

答え1

base64改行についてあまりトリッキーに転がしてください。

echo -n 0y14OkIoAkNcGyXft6qZ8w== | base64 -d | openssl enc -d -aes-128-ecb -K E5E9FA1BA31ECD1AE84F75CAAA474F3A -nosalt

私の考えでは、あなたは極端な状況に直面していると思いますopenssl

関連情報