Confiabilidad del software HashMyFiles vs el comando Get-FileHash
Un estudio experimental sobre 150 archivos demuestra que ambas herramientas producen valores hash idénticos. Lo que parece una diferencia de herramientas, es solo una diferencia de interfaz.
Cuando
presentas un informe pericial y la contraparte pregunta "¿por qué usó esa
herramienta y no otra?", más vale que tengas una respuesta técnicamente
sólida. Este artículo te la da.
En la práctica forense cotidiana con Windows, dos herramientas concentran casi todo el uso para calcular el valor hash de archivos: HashMyFiles, la popular utilidad gratuita de NirSoft con interfaz gráfica, y Get-FileHash, el cmdlet nativo de Windows PowerShell. Ambas conviven en los flujos de trabajo periciales, y eso genera una pregunta recurrente en foros, capacitaciones y hasta en audiencias judiciales:
"¿HashMyFiles y Get-FileHash producen el mismo valor hash para el mismo archivo?"
¿Qué es un valor hash y por qué importa en peritaje?
Una función hash criptográfica toma un archivo —de
cualquier tamaño— y produce una cadena hexadecimal de longitud fija. Es como
una huella digital del contenido: si cambias, aunque sea un solo bit del
archivo, el hash cambia radicalmente. Esto la convierte en el mecanismo
estándar para certificar la integridad de la evidencia digital.
Principio clave: Lo que garantiza la
integridad de un archivo es el algoritmo empleado (MD5,
SHA-256, etc.), no la herramienta que lo ejecuta. Cualquier implementación
correcta del mismo algoritmo sobre el mismo archivo producirá exactamente el
mismo resultado.
HMF = HashMyFiles · GFH = Get-FileHash · Todos los algoritmos comparten la misma implementación subyacente del SO Windows
Por qué el resultado es
idéntico: la arquitectura que nadie explica
Aquí está la clave que muchos
peritos desconocen. Ninguna de las dos herramientas implementa el
algoritmo hash por su cuenta. Ambas delegan el cómputo al mismo motor
criptográfico de Windows:
(GUI / NirSoft)
Advapi32 / bcrypt
e3b0c44298fc...
(PowerShell / .NET)
Cryptography (CLR)
E3B0C44298FC...
Nota: la única diferencia visual es la capitalización (minúscula vs. MAYÚSCULA), sin ninguna implicación matemática.
El experimento: 150 archivos,
4 algoritmos, 3 rondas
Para demostrarlo empíricamente y
no solo teóricamente, realizamos un experimento controlado con las siguientes
características:
n = 150 archivos · 7 categorías · 3 rondas independientes · 3,600 pares de comparación · 0 discrepancias detectadas
Así se ve en la práctica
# HashMyFiles — exportación CSV (valor SHA-256) Filename: contrato_2024.pdf SHA-256: e3b0c44298fc1c149afb4c8996fb92427ae3055... # Get-FileHash — PowerShell 5.1 PS C:\> Get-FileHash .\contrato_2024.pdf -Algorithm SHA256 | Format-List Algorithm : SHA256 Hash : E3B0C44298FC1C149AFB4C8996FB92427AE3055... Path : C:\Evidencias\contrato_2024.pdf >> Resultado idéntico ✔ (solo difiere la capitalización)
Caso 01 · Proceso penal ·
Lima, 2015
Fraude documental: la defensa
impugna "herramientas distintas"
El perito oficial usó HashMyFiles
en la incautación del USB; dos semanas después, el laboratorio del Ministerio
Público verificó con Get-FileHash. Los valores SHA-256 coincidieron
exactamente. La defensa alegó "herramientas distintas" como argumento
de contaminación. El juez rechazó la impugnación: la identidad del hash es la
prueba de integridad, no la marca del software.
✔ Impugnación rechazada —
Integridad certificada
Caso 02 · Procedimiento
administrativo · Ancash, 2014
Auditoría OCI: verificación
cruzada - contrapericia
Dos peritos distintos (oficial y
de parte) procesaron 47 expedientes digitalizados usando herramientas
diferentes (Get-FileHash y HashMyFiles). Cuando los valores SHA-512 no
coincidieron en 9 archivos, eso no era error de herramienta: eran los archivos
que habían sido modificados. La equivalencia entre herramientas convirtió las
discrepancias en evidencia de manipulación.
✔ 9 archivos modificados
identificados
Caso 03 · Juicio oral · Lima,
2015
Imágenes forenses DD:
validación sin FTK Imager
El perito de parte necesitó
verificar imágenes DD obtenidas con FTK Imager, sin tener esa herramienta
disponible. Usó HashMyFiles y Get-FileHash para verificar los MD5 y SHA-1. El
tribunal aceptó la verificación como válida: lo que importa es la coincidencia
del valor hash, no que sea la misma herramienta que hizo la adquisición.
✔ Verificación aceptada por el
tribunal
Marco normativo que respalda
la equivalencia
Las normas internacionales no
exigen una herramienta específica para el cómputo hash. Exigen un algoritmo
reconocido y un proceso documentado y trazable:
ISO/IEC 27037:2012 —
Requiere verificación de integridad mediante valores hash verificables, sin
prescribir herramienta específica.
NIST SP 800-86 — Especifica uso de funciones hash para verificación
de imágenes forenses, con libertad de implementación.
Ley N.° 30096 (Perú) — Establece marco procesal penal para
evidencia digital; no vincula validez a marca de software.
FIPS PUB 180-4 — Define matemáticamente SHA-256 y SHA-512.
Cualquier implementación correcta produce el mismo resultado.
¿Cuándo usar cada una?
Dado que el resultado es
idéntico, la elección entre una y otra es puramente adaptable y contextual:
Ideal cuando necesitas documentar resultados visualmente para audiencias no técnicas, comparar múltiples archivos simultáneamente, o generar reportes HTML/CSV con un clic.
Ideal para automatización masiva, integración en pipelines forenses, scripts de verificación continua, y entornos donde PowerShell ya forma parte del flujo de trabajo.
- HashMyFiles y Get-FileHash producen valores
hash idénticos para el mismo archivo y algoritmo. Tasa de
coincidencia verificada: 100% en 3,600 pares de comparación.
- La equivalencia es estructural, no
casual: ambas herramientas delegan a las mismas implementaciones
criptográficas certificadas del sistema operativo Windows.
- Sus salidas son intercambiables como
artefactos forenses. La única diferencia —mayúscula vs. minúscula en
hexadecimal— no tiene implicación matemática ni jurídica.
- Los tribunales no exigen la misma
herramienta en adquisición y verificación: exigen la coincidencia
del valor hash y la documentación de la cadena de custodia.
- En síntesis: HashMyFiles y Get-FileHash significan lo mismo cuando se trata del valor hash de un archivo. La diferencia es de interfaz, no de resultado.
vivo en lima y quiero ser parte de esta comunidad, me interesa averiguar delitos informaticos
ResponderBorrarnecesito localizar un correo que me llega constantemente, me puedes apoyar. quiero pertenecer a esta comunidad.
ResponderBorrarme gustaria pertenecer a su grupo
ResponderBorrar