openssl decoding não funciona com echo

0

Eu criptografei alguns dados:

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

Isso decodifica corretamente:

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

mas isso falha:

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 retorna 0y14OkIoAkNcGyXft6qZ8w== .

Por que falha o segundo método?

    
por robert 04.07.2017 / 15:01

1 resposta

1

base64 não é tão exigente com a nova linha:

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

Meu palpite é que você acertou um caso de canto em openssl .

    
por 05.07.2017 / 03:58