Mauvaise Magie Numéro d'erreur lorsque vous essayez de Décrypter un fichier dans OpenSSL
Je suis en utilisant la Dernière version de OpenSSL pour Windows, je suis en train de déchiffrer un message U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM=
chiffré à l'aide DES (mot de passe est: pass
), pour lequel je suis à l'aide de la commande suivante
des -d -in Encrypted.txt -out normal.txt
pour laquelle je suis de mauvaise magie numéro d'erreur après avoir entré le mot de passe: pass
Encrypted.txt contient le message chiffré U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM=
et normal.txt est vide
J'ai cherché sur tous les postes de débordement de pile et n'a trouvé aucun article qui pourrait résoudre mon problème, s'il vous Plaît aider obtenir ce problème résolu.
OriginalL'auteur siva | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
L'entrée de l'
des
commande ne devrait pas être en base64. Au lieu de cela, vous devez d'abord décoder le base64 sortie et de les fournir à l'OpenSSLdes
de commande. Par exemple, lorsque j'exécute les opérations suivantes sur Linux:echo U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM= | openssl enc -base64 -d | openssl des -d
Je reçois le bon de sortie:
hello world
Depuis Windows n'est pas grande, avec des tuyaux, vous devez rediriger la sortie pour les fichiers intermédiaires et ensuite exécuter des
openssl
commandes.Pas de. base64 est juste un moyen commode de représenter des caractères non imprimables. Si le message chiffré est au format base64, vous avez à le décoder avant de le décrypter. En fait, l'installation de openssl
des
de commande a un base64 encode/décode option (-a
). Donc, tout ce que vous devez faire est deopenssl des -d -a -in Encrypted.txt -out normal.txt
oui execcuted qui commande et je reçois toujours "Mauvais Nombre Magique erreur"
Ainsi, la
Encrypted.txt
contient le base64 de sortie?il contient juste ce "U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM= "
OriginalL'auteur Karthik
La question est
openssl -a
(-base64
) s'attend à un retour à la ligne à la fin des données encodées en base64. C'est un bug.Pour contourner ce problème, décoder premier avec
base64 --decode
. Exemple:OriginalL'auteur Jonah Braun