Die wirkliche Antwort ist: Es kommt darauf an
Es gibt eine Reihe von Faktoren zu berücksichtigen, die offensichtlichsten sind: die CPU, auf der diese Algorithmen ausgeführt werden, und die Implementierung der Algorithmen.
Ich und mein Freund haben zum Beispiel beide die gleiche openssl-Version und erhalten leicht unterschiedliche Ergebnisse mit unterschiedlichen Intel Core i7-CPUs.
Aktualisierung 2021 Ran openssl speed sha1 md5
auf einem Ryzen 9 3900x: Sha1 ist jetzt 2-3 mal schneller als md5 und der Unterschied wird größer, wenn die Datengröße zunimmt
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
md5 171084.26k 373867.24k 660204.56k 783808.17k 840138.75k 843743.23k
sha1 309769.46k 772013.89k 1523885.48k 2017251.67k 2226836.82k 2251024.61k
Update beenden
Mein Test bei der Arbeit mit einer Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 64257.97k 187370.26k 406435.07k 576544.43k 649827.67k
sha1 73225.75k 202701.20k 432679.68k 601140.57k 679900.50k
Und seine mit einer Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 51859.12k 156255.78k 350252.00k 513141.73k 590701.52k
sha1 56492.56k 156300.76k 328688.76k 452450.92k 508625.68k
Wir verwenden beide die exakt gleichen Binärdateien von OpenSSL 1.0.1j 15 Oct 2014 aus dem offiziellen ArchLinux-Paket.
Meiner Meinung nach ist es aufgrund der zusätzlichen Sicherheit von sha1 wahrscheinlicher, dass die CPU-Entwickler die Geschwindigkeit von sha1 verbessern und mehr Programmierer an der Optimierung des Algorithmus arbeiten als an md5sum.
Ich vermute, dass md5 eines Tages nicht mehr verwendet werden wird, da es keinen Vorteil gegenüber sha1 zu haben scheint. Ich habe auch einige Fälle mit echten Dateien getestet und die Ergebnisse waren in beiden Fällen immer gleich (wahrscheinlich begrenzt durch die Festplatten-E/A).
Die md5sum einer 4,6 GB großen Datei benötigte genau die gleiche Zeit wie die sha1sum der gleichen Datei, dasselbe gilt für viele kleine Dateien (488 im gleichen Verzeichnis). Ich habe die Tests ein Dutzend Mal durchgeführt, und sie lieferten durchweg die gleichen Ergebnisse.
--
Es wäre sehr interessant, dies weiter zu untersuchen. Ich vermute, dass es einige Experten gibt, die eine solide Antwort darauf geben können, warum sha1 auf neueren Prozessoren schneller ist als md5.