Ich bin auf der Suche nach einem C# -Wrapper zu einer nativen MD5 oder SHA1-Bibliothek, um Hash-Rechenleistung zu verbessern.C# schnelle Hash-Berechnung
Bisher habe ich SharpZipLib auf zlib umgestellt und habe mehr als 2x Performance Boost bekommen. (ok, du musst darauf achten, dass du die richtige zlib.so oder zlib.dll hast, abhängig von Betriebssystem und Hardware, aber es zahlt sich aus).
Wird es sich für MD5 oder SHA1 oder .NET und Mono auf eine native Implementierung bereits verlassen?
(Bearbeitet) Auch: falls ich beim MD5CryptoServiceProvider bleiben muss, gibt es eine Möglichkeit, wie ich einen Hash einer Datei berechnen kann, während ich es lese? Ich meine, Bytes in Blöcken senden, aber trotzdem den ganzen Hash berechnen?
Denken Sie daran, dass MD5 ein Cracked Hashing-Algorithmus ist und nicht mehr als sicher gilt. Kollisionen mit SHA1 wurden ebenfalls gefunden, und obwohl sie nicht so schwer wie MD5 waren, wurden sie als signifikante Unterbrechungen angesehen. Wenn Sie einen sicheren Hashalgorithmus benötigen, sollten Sie sich für SHA2-Varianten (256/512) entscheiden. – jrista
@pablo, sind Sie sicher, dass Hashing und nicht IO-Zugriff ist Ihr Engpass ... –
Es kann auch IO sein, du hast recht, aber nach meiner Erfahrung mit zlib, ich habe darüber nachgedacht, ob Switching MD5-Implementierung Dinge beschleunigen würde. – pablo