For å beregne MD5-verdien til en fil på en nettside, trenger dette prosjektet heldigvis bare å være kompatibelt med moderne nettlesere, ellers blir det drept.
Faktisk er md5 på filer veldig enkelt for backend. For eksempel, ved å bruke Node.js, vil bare følgende kodelinjer fungere:
Men for nettlesere, hvis du ikke kan bruke HTML5s fil-API, er det nesten umulig for fil-md5. Hvis du ikke kan bruke fil-API-et, vennligst del det med meg.
For å md5-e en fil i en nettleser, er grunnideen å bruke HTML5 FileReader-grensesnittet for å lese filen til minnet, deretter hente det binære innholdet i filen, og til slutt md5.
Det finnes allerede folk på Github som forsker på dette problemet, og et av de beste prosjektene er js-spark-md5, som bruker verdens raskeste md5-algoritme.
For bedre gjenbruk av kode kapslet jeg inn browser-md5-file oppå js-spark-md5, noe som gjør det enklere å bruke md5-filen.
Prosjektadresse: browser-md5-file:https://github.com/forsigner/browser-md5-file
Den er veldig enkel å bruke:
For detaljert bruk, vennligst sjekk dokumentasjonen på Github.
Når det gjelder nettleserkompatibilitet, på grunn av HTML5-API-et som brukes, kan det kun være kompatibelt med følgende nettlesere:
- IE10+
- Firefox
- Krom
- Safari
- Opera
Et annet poeng er at store MD5-filer vil prestere dårlig på grunn av behovet for å lese filer til minnet.
|