Unter der Annahme, dass Festplatten-E / A und freier RAM ein Engpass sind (während die CPU-Zeit keine Einschränkung darstellt), gibt es ein Tool, mit dem mehrere Message Digests gleichzeitig berechnet werden können?
Ich interessiere mich besonders für die parallele Berechnung der MD-5- und SHA-256-Digests großer Dateien (Größe in Gigabyte). Ich habe es versucht openssl dgst -sha256 -md5
, aber es berechnet nur den Hash mit einem Algorithmus.
Pseudocode für das erwartete Verhalten:
for each block:
for each algorithm:
hash_state[algorithm].update(block)
for each algorithm:
print algorithm, hash_state[algorithm].final_hash()
for i in file1 file2 …; do tee < "$i" >(sha256sum) | md5sum ; done
Dann müssen Sie zusätzlichen Code hinzufügen, um den Dateinamen zu markieren, da er als Standardeingabe an md5sum
und gesendet wird sha256sum
.
for i in file1 file2 …; do sha256 "$i"& md5sum "$i"; done