Função md5_file() do PHP

Exemplo

Calcular o hash MD5 do arquivo de texto "test.txt":

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

Saída do código acima:

d41d8cd98f00b204e9800998ecf8427e

Definição e uso

A função md5_file() calcula o hash MD5 do arquivo.

A função md5_file() utiliza segurança de dados RSA, incluindo o algoritmo de resumo de mensagem MD5.

Explicação do RFC 1321 - Algoritmo de Resumo de Mensagem MD5: O Algoritmo de Resumo de Mensagem MD5 converte informações de qualquer comprimento em uma "digital" de 128 bits ou "resumo de mensagem" para representar essa entrada, e usa esse valor calculado como resultado. O algoritmo MD5 é principalmente projetado para aplicações de assinatura digital; nessa aplicação de assinatura digital, arquivos maiores são comprimidos de maneira segura antes da criptografia (o processo de criptografia aqui é feito através da configuração de uma chave privada sob uma chave pública em um sistema de criptografia [como RSA]).

Para calcular o hash MD5 de uma string, utilize md5() Função.

Sintaxe

md5_file(file,raw)
Parâmetros Descrição
file Obrigatório. Especifica o arquivo a ser calculado.
raw

Opcional. Booleano, especifica o formato de saída hexadecimal ou binário:

  • TRUE - Formato binário original de 16 caracteres
  • FALSE - Padrão. Número hexadecimal de 32 caracteres

Detalhes Técnicos

Retorno: Se bem-sucedido, retorna o hash MD5 calculado, se falhar, retorna FALSE.
Versão PHP: 4.2.0+
Registro de Atualizações:

No PHP 5.0, foi adicionado raw Parâmetros.

A partir do PHP 5.1, é possível usar md5_file() encapsulado. Por exemplo: md5_file("http://w3cschool.com.cn/..")

Mais Exemplos

Exemplo 1

Armazenar o hash MD5 do arquivo "test.txt":

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

Detectar se "test.txt" foi alterado (ou seja, se o hash MD5 foi alterado):

<?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
  {
  echo "O arquivo está ok.";
  }
else
  {
  echo "O arquivo foi alterado.";
  }
?>

Saída do código acima:

O arquivo está ok.