Um den MD5-Wert einer Datei auf einer Webseite zu berechnen, muss dieses Projekt glücklicherweise nur mit modernen Browsern kompatibel sein, sonst wird es beendet.
Tatsächlich ist MD5 auf Dateien für das Backend sehr einfach. Zum Beispiel reichen mit Node.js nur die folgenden Codezeilen aus:
Aber bei Browsern gilt: Wenn du die Datei-API von HTML5 nicht nutzen kannst, ist Datei-MD5 fast unmöglich. Wenn du die Datei-API nicht nutzen kannst, teile sie bitte mit mir.
Um eine Datei in einem Browser zu md5, besteht die Grundidee darin, die HTML5 FileReader-Oberfläche zu verwenden, um die Datei in den Speicher zu lesen, dann den Binärinhalt der Datei zu erhalten und schließlich md5.
Es gibt bereits Leute auf Github, die dieses Problem erforschen, und eines der besten Projekte ist js-spark-md5, das den weltweit schnellsten md5-Algorithmus verwendet.
Für eine bessere Codewiederverwendung habe ich browser-md5-file über js-spark-md5 verkapselt, was die Nutzung der md5-Datei erleichtert.
Projektadresse: browser-md5-file:https://github.com/forsigner/browser-md5-file
Es ist sehr einfach zu bedienen:
Für eine detaillierte Nutzung siehe bitte die Dokumentation auf Github.
Was die Browser-Kompatibilität betrifft, so kann sie aufgrund der verwendeten HTML5-API nur mit den folgenden Browsern kompatibel sein:
- IE10+
- Firefox
- Chrome
- Safari
- Oper
Ein weiterer Punkt ist, dass große MD5-Dateien schlecht abschneiden, weil sie Dateien in den Speicher lesen müssen.
|