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: