13

Windows 用 OpenSSL の最新バージョンを使用しています。次のコマンドを使用して、U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM=DES (パスワードは: ) を使用して暗号化されたメッセージを復号化しようとしています。pass

des -d -in Encrypted.txt -out normal.txt

パスワードを入力した後、悪いマジック番号エラーが表示されます: pass

Encrypted.txt には暗号化されたメッセージが含まれ、U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM= normal.txt は空です

スタック オーバーフローのすべての投稿を検索しましたが、問題を解決できる記事は見つかりませんでした。この問題の解決にご協力ください。

4

2 に答える 2

9

コマンドへの入力desは base64 であってはなりません。代わりに、最初に base64 出力をデコードしてから、それを OpenSSLdesコマンドに提供する必要があります。たとえば、Linux で次のコマンドを実行すると、次のようになります。

echo U2FsdGVkX18ztmw81FTK/c+jAf8xtcZdIpesuV2PLDM= | openssl enc -base64 -d | openssl des -d

正しい出力が得られます:

hello world

Windows はパイプに適していないため、出力を中間ファイルにリダイレクトしてから、個々のopensslコマンドを実行する必要があります。

于 2013-10-03T14:33:06.627 に答える