復号化時のマジックナンバーエラー

復号化時のマジックナンバーエラー

4月に、私は次のコマンドを使用してファイルを暗号化しました。

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

今これを解読するために使用したいと思います。

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

しかし、私が得たマジックナンバーは都合がなかった。

同じパラメータを使用して昨日暗号化されたファイルは正常に復号化できます。

何が起こりましたか?このアーカイブファイルを検索できますか?

答え1

OpenSSL <= 1.0.2を使用して暗号化し、OpenSSL 1.1.0を使用して復号化する場合は、次のようになります。

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

1.0.2と1.1.0の間で変更されたパスワードからキーを生成するために使用されるデフォルトのハッシュ。-md md5復号化コマンドに追加してみてください。

答え2

完全性のために:暗号化-ㅏパラメータ(base64エンコード/デコードの実行(エイリアス - base64))なしで復号化すると、不正なマジックナンバーが生成されます。

答え3

このエラーの一般的な原因は、OpenSSLがパスワードに基づいて誤ったキーを計算することです。つまり、そのキーはデータの暗号化に使用されたものとは異なります。

元の質問とは異なるシナリオでこのエラーが発生する理由の1つは、暗号化にJavaを使用し、復号化にSSLを使用するなど、暗号化にOpenSSL以外のツールを使用することです。

ここでJavaソリューションを参照してください。https://stackoverflow.com/questions/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#55884564

答え4

次のコマンドは私に苦しんでいます。

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

次のコマンドで問題が解決し、幸せになりました。

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:

関連情報