Uma senha especificada por -pass
é diferente da chave real para criptografia especificada por -K
. O openssl processa uma senha com funções hash para derivar uma chave real com um comprimento de bit específico. Portanto, as senhas geralmente são sequências curtas e memoráveis usando apenas caracteres imprimíveis.
Você pode ver chaves, IVs e sais reais por -P
. Observe que sua chave é truncada para comprimento de chave de 128 bits com aes-128-ecb
. Observe também que o -ecb
mode é fraco e não é adequado para uso comum.
$ openssl aes-128-ecb -P -K 4D1D75237C31E7732030C69F209F23154418373335E049C4F567C7B6D422ABD0
salt=EA7B538100000000
key=4D1D75237C31E7732030C69F209F2315
$ openssl aes-256-cbc -P -pass pass:secret
salt=332A7608A01A609A
key=1B27C46F481CFA793C665EEFC3C5B6867735CD326840C598AA6EBCCA5829D066
iv =CE223BAEDAA625C02A397D3E1FCE8E75
De acordo com o manual -K
não suporta entrada de arquivo. Você pode querer fazer algo assim:
openssl aes-128-ecb -d -in encrypted_base64.txt -K $(hexdump -v -e '"%02X"' data_key_plaintext.bin) -base64