Función md5_file() en PHP

Ejemplo

Calcular el hash MD5 del archivo de texto "test.txt":

<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>

Salida del código anterior:

d41d8cd98f00b204e9800998ecf8427e

Definición y uso

La función md5_file() calcula el hash MD5 de un archivo.

La función md5_file() utiliza seguridad de datos RSA, incluyendo el algoritmo de resumen de mensaje MD5.

Explicación procedente de RFC 1321 - Algoritmo de resumen de mensaje MD5: El algoritmo de resumen de mensaje MD5 toma como entrada cualquier longitud de información y la convierte en un valor de "huella digital" o "resumen de mensaje" de 128 bits que representa esta entrada, utilizando este valor convertido como resultado. El algoritmo MD5 se diseñó principalmente para aplicaciones de firma digital; en estas aplicaciones de firma digital, los archivos más grandes se comprimen de manera segura antes de ser encriptados (este proceso de encriptación se realiza mediante la configuración de una clave privada bajo un sistema de clave pública [como RSA]).

Si desea calcular el hash MD5 de una cadena, utilice md5() Función.

Sintaxis

md5_file(file,raw)
Parámetros Descripción
file Necesario. Especifica el archivo a calcular.
raw

Opcional. Booleano, especifica el formato de salida en hexadecimal o binario:

  • TRUE - Formato binario original de 16 caracteres
  • FALSE - Predeterminado. Número de 32 caracteres en formato hexadecimal

Detalles técnicos

Valor de retorno: Si tiene éxito, devuelve el hash MD5 calculado; si falla, devuelve FALSE.
Versión de PHP: 4.2.0+
Registro de actualizaciones:

En PHP 5.0, se ha añadido raw Parámetros.

Desde PHP 5.1, se puede usar md5_file() encapsulado. Por ejemplo: md5_file("http://w3cschool.com.cn/..")

Más ejemplos

Ejemplo 1

Almacenar el hash MD5 del archivo "test.txt":

<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>

Detectar si "test.txt" ha sido modificado (es decir, si el hash MD5 ha sido modificado):

<?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
  {
  echo "El archivo está bien.";
  }
else
  {
  echo "El archivo ha sido cambiado.";
  }
?>

Salida del código anterior:

El archivo está bien.