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
しかし、私は悪いマジックナンバーを取得します。
昨日同じパラメータで暗号化されたファイルは復号化できます。
何が起こったのでしょうか?とにかく私はこのアーカイブされたファイルを取得できますか?
OpenSSL <= 1.0.2で暗号化し、OpenSSL 1.1.0で復号化している場合は、おそらく次のようになります。
https://www.openssl.org/docs/faq.html#USER
パスワードからキーを生成するために使用されるデフォルトのハッシュは、1.0.2と1.1.0の間で変更されました。復号化コマンドに-md md5
を追加してみてください。
このエラーの一般的な原因は、パスワードからOpenSSLによって計算されたキーが間違っていることです。つまり、データを暗号化したキーと同じではありません。
元の質問とは異なる状況でこのエラーが表示される可能性がある1つの理由は、OpenSSL以外のツールを使用して暗号化している場合(Javaでの暗号化、SSLを使用した復号化など)です。
Javaの解決策はこちらをご覧ください: https://stackoverflow.com/questions/22610761/aes-simple-encrypt-in-Java-decrypt-with-openssl/55884564#55884564
以下のコマンドは私に苦痛を与えました:
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: