web-dev-qa-db-fra.com

mauvais numéro magique sur déchiffrer

En avril, j'ai chiffré un fichier à l'aide de la commande

openssl enc -aes-256-cbc -salt -pass file:<passwordfile> < infile > outfil

Maintenant, je veux le décrypter avec

openssl enc -d -aes-256-cbc -salt -pass file:<passwordfile> -in outfil -out infile2

mais j'ai un mauvais numéro magique.

Un fichier chiffré hier avec les mêmes paramètres déchiffre ok.

Qu'est-ce qui aurait pu arriver? et puis-je de toute façon récupérer ce fichier archivé?

12
KathyHH

Si vous avez chiffré avec OpenSSL <= 1.0.2 et que vous déchiffrez avec OpenSSL 1.1.0, c'est probablement ceci:

https://www.openssl.org/docs/faq.html#USER

Le hachage par défaut utilisé pour générer la clé à partir du mot de passe a changé entre 1.0.2 et 1.1.0. Essayez d'ajouter -md md5 sur votre commande de décryptage.

6
Matt Caswell

La cause générale de cette erreur est que la clé calculée par OpenSSL à partir du mot de passe est incorrecte, ce qui ne signifie pas la même chose que la clé qui a chiffré les données.

L'une des raisons pour lesquelles cette erreur peut apparaître, dans une situation différente de la question d'origine, est que vous cryptez à l'aide d'un autre outil qu'OpenSSL, par exemple le cryptage en Java et le décryptage à l'aide de SSL.

Voir la solution ici pour Java: https://stackoverflow.com/questions/22610761/aes-simple-encrypt-in-Java-decrypt-with-openssl/55884564#55884564

1
Vic Seedoubleyew

La commande ci-dessous m'a fait mal:

openssl aes-256-cbc -d -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc decryption password:
bad magic number

Et la commande ci-dessous l'a résolu et m'a fait plaisir:

openssl aes-256-cbc -md md5 -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
1
typelogic