pvを使用してopenssl暗号化/暗号解読の進行状況を表示するには?

pvを使用してopenssl暗号化/暗号解読の進行状況を表示するには?

を使用してファイルを暗号化および復号化できる必要がありますopenssl。現時点では、次のコマンドを使用して簡単にこれを実行できます。

openssl enc -aes-256-cbc -salt -in "$input_filename" -out "$output_filename"

そして解読:

openssl enc -aes-256-cbc -d -salt -in "$input_filename" -out "$output_filename"

しかし、大容量ファイルの場合は、進捗状況を見たいです。

私は次のようなさまざまなバリエーションを試しました(暗号化)。

pv "$input_filename" | openssl enc -aes-256-cbc -d -salt | pv > "$output_filename"

しかし、これは私にパスワードを要求しません。何をすべきかわかりませんか?

編集1:

私はtarこれを見つけましたopenssl

https://stackoverflow.com/a/24704457/1997354

とても役に立ちますが、よく理解できません。

編集2:

名前付きパイプ情報:

これでほとんど使用する準備が整いました。とは別に点滅する目立つように見せることはできませんが、進捗状況は最終結果は次のとおりです。

enter aes-256-cbc decryption password:
1.25GiB 0:00:16 [75.9MiB/s] [==============================================================================================================================================================================================>] 100%            
1.25GiB 0:00:10 [ 126MiB/s] [                                             <=>                                                                                                                                                                ]

答え1

あなたは試す必要があります

openssl enc -aes-256-cbc -d -salt -in "$input_filename" | pv -W >> "$output_filename"

~から手動:

-W、-ちょっと:

進捗情報を表示するか、ETAを計算する前に、最初のバイトが送信されるのを待ちます。これは、データを処理する前にパスワードを必要とするgpg(1)またはmcrypt(1)にデータをパイプするなど、始める前に追加情報が必要なプログラムをパイプする場合に便利です。

これがまさにあなたの状況です。進行状況バーを確認する必要がある場合、その理由は次のとおりです。周ウェイジュ以下の説明に従って、パイプラインでコマンドの順序を変更できます。

pv -W "$input_filename" | openssl enc -aes-256-cbc -d -salt -out "$output_filename"

答え2

あなたはする必要があります名前付きパイプここで。

$ mkfifo mypipe
$ pv < mypipe > "$output_filename"|(pv "$input_filename" | openssl enc -aes-256-cbc -d -salt -out mypipe)

これら2つのコマンドの出力は、pvttyウィンドウの下部に交互に表示されます。しかし、これが本当に必要なものかどうかはわかりません。pvinの出力のみが必要な場合は、上記のコマンドpv "$input_filename"を適切に修正してください。

編集する

OPからより多くの情報を得た後、私は確信しています。

pv "$input_filename" | openssl enc -aes-256-cbc -d -salt -out "$output_filename"

OPの問題を解決するのに十分です。本物必要。

関連情報