Para calcular el valor MD5 de un archivo en una página web, afortunadamente, este proyecto solo necesita ser compatible con navegadores modernos, de lo contrario será cancelado.
De hecho, md5 en archivos es muy sencillo para el backend. Por ejemplo, usando Node.js, solo bastarán las siguientes líneas de código:
Pero para navegadores, si no puedes usar la API de archivos de HTML5, es casi imposible para el archivo md5. Si no puedes usar la API del archivo, por favor compártela conmigo.
Para hacer md5 a un archivo en un navegador, la idea básica es usar la interfaz HTML5 FileReader para leer el archivo en la memoria, luego obtener el contenido binario del archivo y finalmente md5.
Ya hay gente en Github investigando este problema, y uno de los mejores proyectos es js-spark-md5, que utiliza el algoritmo md5 más rápido del mundo.
Para una mejor reutilización del código, encapsulé browser-md5-file encima de js-spark-md5, lo que facilita el uso del archivo md5.
Dirección del proyecto: browser-md5-file:https://github.com/forsigner/browser-md5-file
Es muy fácil de usar:
Para un uso más detallado, por favor consulta la documentación en Github.
En cuanto a la compatibilidad de navegadores, debido a la API HTML5 utilizada, solo puede ser compatible con los siguientes navegadores:
- IE10+
- Firefox
- Chrome
- Safari
- Ópera
Otro punto es que los archivos MD5 grandes funcionan mal debido a la necesidad de leer archivos en memoria.
|