Estoy tratando de usar crypto.js con openssl, por lo que me gustaría cifrar un mensaje con uno de ellos y descifrarlo con el otro.
Incluí crypto.js desde aquí: https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js
Probé en js:
CryptoJS.AES.encrypt("This is a message", "secret").toString()El resultado es:
"U2FsdGVkX1+BK06UxXoEdF5CkAhhxRPAN5r+XYLse/PSgtWI5e9BX3pkMBRpF6Te"Luego con openssl hago:
echo "U2FsdGVkX1+BK06UxXoEdF5CkAhhxRPAN5r+XYLse/PSgtWI5e9BX3pkMBRpF6Te" | openssl enc -d -a -aes-256-cbc -k "secret"Y me sale este error:
*** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better. bad decrypt 140411423139136:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:610: ��+|�W��ۿ��4~También traté de agregar la opción -pbkdf2 al comando openssl, pero obtengo un resultado similar.
Y también probé de la otra manera así:
echo "This is a message" | openssl enc -e -a -aes-256-cbc -k "secret" -pbkdf2Obtengo este resultado:
U2FsdGVkX1/QYJ+ZdUeun6mZn2aS+XxpnCTE3/50wc46Tvc3+JJxq+1rR3nS+4cPLuego en js hago:
CryptoJS.AES.decrypt("U2FsdGVkX1/QYJ+ZdUeun6mZn2aS+XxpnCTE3/50wc46Tvc3+JJxq+1rR3nS+4cP", "secret").toString(CryptoJS.enc.Utf8)Y obtengo:
""También traté de eliminar la opción -pbkdf2 en el comando openssl pero obtengo el mismo resultado.
Pasé horas en este problema, tratando de cambiar el algoritmo, la clave de tamaño, etc. sin encontrar ninguna solución. El desbordamiento de pila es mi última esperanza.
Gracias por adelantado.