ディスクI / Oと利用可能なRAMがボトルネック(CPU時間は制限ではありません)であると仮定すると、複数のメッセージダイジェストを同時に計算できるツールはありますか?
私は特に大容量ファイル(GB単位)のMD-5およびSHA-256ダイジェストを並列に計算することに興味があります。私はこれを試しましたが、openssl dgst -sha256 -md5
ハッシュ値を計算するために1つのアルゴリズムしか使用しません。
予想される動作の疑似コード:
for each block:
for each algorithm:
hash_state[algorithm].update(block)
for each algorithm:
print algorithm, hash_state[algorithm].final_hash()
ベストアンサー1
次から見るpee
(" tee standard input to pipes
")moreutils
。これは基本的にMarcoのtee
コマンドと同じですが、入力するのは少し簡単です。
$ echo foo | pee md5sum sha256sum
d3b07384d113edec49eaa6238ad5ff00 -
b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c -
$ pee md5sum sha256sum <foo.iso
f109ffd6612e36e0fc1597eda65e9cf0 -
469a38cb785f8d47a0f85f968feff0be1d6f9398e353496ff7aa9055725bc63e -