Gerçek cevap: Duruma göre değişir
Dikkate alınması gereken birkaç faktör var, en bariz olanları: bu algoritmaları çalıştırdığınız işlemci ve algoritmaların uygulanması.
Örneğin, ben ve arkadaşım aynı openssl sürümünü çalıştırıyor ve farklı Intel Core i7 cpus ile biraz farklı sonuçlar elde ediyor.
Testim Intel (R) Core (TM) i7-2600 CPU @ 3.40GHz ile iş başında
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
Ve onunki Intel (R) Core (TM) i7 CPU 920 @ 2.67GHz ile
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
İkimiz de ArchLinux resmi paketinden 15 Ekim 2014 OpenSSL 1.0.1j'nin aynı ikili dosyalarını çalıştırıyoruz.
Bu konudaki fikrim, sha1'in ek güvenliği ile cpu tasarımcılarının sha1'in hızını artırma olasılığının daha yüksek olduğu ve algoritmanın optimizasyonu üzerinde md5sum'dan daha fazla programcının çalışacağı yönünde.
Sanırım sha1'e göre bir avantajı yok gibi göründüğü için md5 bir gün kullanılmayacak. Bazı vakaları gerçek dosyalarda da test ettim ve sonuçlar her iki durumda da hep aynıydı (muhtemelen disk G / Ç ile sınırlı).
4.6 GB büyüklüğünde bir dosyanın md5 toplamı, aynı dosyanın sha1 toplamı ile tam olarak aynı zamanı aldı; aynı, birçok küçük dosyada (aynı dizinde 488) geçerli. Testleri bir düzine kez yaptım ve tutarlı bir şekilde aynı sonuçları alıyorlardı.
-
Bunu daha fazla araştırmak çok ilginç olurdu. Sanırım etrafta sha1'in neden yeni işlemcilerde md5'ten daha hızlı hale geldiğine sağlam bir cevap verebilecek bazı uzmanlar var.