¿Cómo usar esta herramienta?
- Elija el modo: Generar, Verificar o Comparar.
- Marque los algoritmos — SHA-256 por defecto, SHA-512 / BLAKE3 ampliables. SHA-1 y MD5 siguen disponibles pero llevan el aviso «ya no recomendado para seguridad».
- Suelte el archivo o los archivos por arrastrar y soltar o el selector. El drop de carpeta es posible en modo Generar.
- En modo Verificar, pegue el hash esperado o suelte un archivo sidecar — el algoritmo se detecta automáticamente; con 64 caracteres un toggle SHA-256 / BLAKE3 resuelve la ambigüedad.
- Pulse Hashar / Verificar / Comparar. En archivos grandes, un indicador de progreso muestra los bytes por segundo; se puede cancelar en cualquier momento.
¿Cómo verifica la herramienta la integridad del archivo?
Una función hash criptográfica proyecta cualquier entrada — sean 12 bytes o 12 gigabytes — sobre un valor hex corto y de longitud fija. Si cambia incluso un solo byte en la entrada, el hash cambia con alta probabilidad por completo. Eso convierte los hashes en el método estándar para la integridad de archivos: un proveedor publica el hash de un archivo, usted lo calcula localmente tras la descarga y, si ambos valores coinciden, el archivo está sin cambios desde la publicación.
Calculamos en el navegador mediante una capa de hashing acelerada por WASM, incremental. Incremental significa: el archivo no se carga primero entero en RAM, sino que se lee en chunks de 64 KB vía File.stream() y se alimenta paso a paso al hasher. Solo al final sale un único valor hex. Justamente este pipeline es el que admite archivos de más de 2 GB — la API estándar del navegador no lo logra.
¿Qué significan SHA-256, SHA-512, MD5, SHA-1 y BLAKE3?
SHA-2 es la familia de funciones hash criptográficas que el NIST estadounidense especifica en el estándar FIPS 180-4. SHA-256 produce un digest de 256 bits (64 caracteres hex) y es hoy el estándar de facto para releases de software, descargas de ISO Linux, imágenes de contenedor y blockchains. SHA-512 es la variante larga con digest de 512 bits (128 caracteres hex) — misma construcción matemática, mayor espacio de salida.
SHA-1 (160 bits, 40 caracteres hex) y MD5 (128 bits, 32 caracteres hex) son algoritmos más antiguos. MD5 fue declarado criptográficamente roto en 2004, SHA-1 en 2017. Para controles puros de integridad (objetos Git, claves de caché, versionado de archivos) ambos siguen bien; para verificaciones relevantes de seguridad — allí donde un atacante deba poder generar un archivo alternativo con el mismo hash — ya no.
BLAKE3 es un estándar moderno de 2020. Produce un digest de 256 bits como SHA-256, pero es notablemente más rápido, criptográficamente seguro y paralelizable. Se adopta cada vez más en herramientas de build y content-addressable stores. Para descargas de distribuidor no es aún estándar de facto, pero sí relevante — lo ofrecemos a quien lo necesite.
¿Cuándo es cada algoritmo la elección correcta?
Si el proveedor publica un único hash y no indica algoritmo, dedúzcalo de la longitud hex: 32 caracteres son MD5, 40 son SHA-1, 64 son SHA-256 (o, más raramente, BLAKE3 — suele indicarse en un sidecar o nota del distribuidor), 128 son SHA-512. La herramienta detecta la longitud automáticamente y propone el algoritmo adecuado; con 64 caracteres aparece un toggle SHA-256/BLAKE3, porque ambos producen 64 caracteres.
Al generar, la recomendación es pragmática: SHA-256 basta en cualquier parte para la verificación de integridad moderna. Quien lleve compliance de auditoría o trate con administraciones añade SHA-512. BLAKE3 vale la pena si el lado receptor también entiende BLAKE3 (si no, el hash más rápido es inútil). MD5 y SHA-1 los generamos solo cuando la parte receptora lo exige explícitamente — por ejemplo, pipelines CI antiguos o formatos de manifest legacy.
Calcular varios algoritmos a la vez cuesta solo entre el 5 y el 15 % de tiempo extra por algoritmo, porque los bytes solo se leen una vez — útil cuando no se sabe cuál espera el receptor.
¿En qué se diferencian Generar, Verificar y Comparar?
Generar es el modo «necesito nuevos hashes». Uno o varios archivos entran, se calculan en paralelo todos los algoritmos seleccionados, el resultado es una tabla con filas por archivo. Útil para creación de manifest de distribuidor, listas de auditoría de copia o simplemente para obtener el SHA-256 de un archivo. La exportación CSV escribe la tabla en un formato que Excel abre directamente.
Verificar es el modo «¿coincide este archivo con este hash esperado?». Un archivo más un valor esperado (pegado o por drop de sidecar) — la herramienta calcula, compara y muestra un banner de match o de mismatch con resaltado diff. Justo el caso de uso detrás del término «verificador de hash de archivo» y que en la competencia a menudo queda en segundo plano o ausente.
Comparar es el modo «¿son estos dos archivos realmente idénticos?». Dos archivos entran, ambos se hashean en paralelo para todos los algoritmos elegidos, el resultado es un banner («archivos idénticos» o «los archivos difieren») más una tabla por algoritmo. Útil tras restauración de copia, redescarga, migración de disco o comparación de sync en la nube.
¿Por qué funcionan archivos tan grandes aquí y en otros sitios no?
La API estándar del navegador para hashing espera el archivo completo como un único objeto en memoria. En Firefox, esta API rechaza entradas de más de 2 GB con un TypeError — muy concretamente documentado en trackers de issues open source, donde herramientas de copia o sincronización fallan con grandes archivos multimedia. Otros navegadores tienen el mismo problema con distinto grado, porque el límite común de un onglet de navegador termina por alcanzarse.
Lo sorteamos con un hasher basado en WebAssembly que trabaja incremental: init() inicia un estado fresco, update(chunk) lo alimenta con el siguiente chunk, digest() cierra y entrega el valor hex. La ruta de lectura usa File.stream().getReader(), API estándar del navegador, que entrega los bytes en flujo sin carga total en RAM. Así el consumo de memoria queda por debajo de 100 MB, sea el archivo de 100 MB o 100 GB.
¿Para qué se presta la herramienta — y para qué no?
Apta: verificación de descarga de software contra hashes publicados, validación tras restauración, generación de manifest de distribuidor, verificación de sync en la nube, ayuda forense para «¿es este archivo el mismo que tenía hace dos semanas?», listas de auditoría rápidas para carpetas de foto o vídeo.
No apta: autenticación (eso es HMAC + clave, no hash de archivo), almacenamiento de contraseñas (eso es Argon2/bcrypt/scrypt), protección frente a un proveedor comprometido (véase el aviso abajo), prueba única de seguridad con MD5 o SHA-1 (no recomendados para comprobaciones de seguridad).
Aviso importante sobre la verificación de hash: un hash que coincide solo confirma que el archivo no ha cambiado desde la publicación del hash — no prueba que la fuente sea fiable. Compare por tanto el hash con una fuente independiente (notas de versión, entrada de mailing-list firmada, gestor de paquetes oficial), no solo con el valor mostrado junto a la descarga.
¿Qué herramientas encajan?
Del ecosistema kittokit, en el ámbito de verificación de archivos e integridad de datos:
- Generador de hash — hashea texto en lugar de archivos. Útil para snippets de contraseña, pruebas de secret JWT o hashes de API.
- Decodificador JWT — decodificar JSON Web Tokens; útil para la verificación de tokens firmados (complementario a los hashes de archivo).
- Generador de UUID — crear identificadores únicos, útil al montar sus propios manifests o conjuntos de datos de prueba.
Última actualización: