Calcule o hash MD5 do arquivo de texto "test.txt":
<?php$filename = "test.txt";$md5file = md5_file($filename);echo $md5file;?>O código acima irá gerar:
d41d8cd98f00b204e9800998ecf8427eA função md5_file() calcula o hash MD5 de um arquivo.
A função md5_file() usa segurança de dados RSA, incluindo o algoritmo de resumo de mensagem MD5.
Explicação da RFC 1321 - Algoritmo de resumo de mensagem MD5: O algoritmo de resumo de mensagem MD5 pega informações de qualquer comprimento como um valor de entrada e as converte em um valor de "informações de impressão digital" ou "resumo de mensagem" de 128 bits para representá-lo. Insira um valor e obtenha o valor convertido como resultado. O algoritmo MD5 é projetado principalmente para aplicativos de assinatura digital onde arquivos maiores são criptografados usando uma chave pública em um sistema criptográfico como o RSA (feito através da definição de uma chave privada) antes de serem compactados de maneira segura.
Para calcular o hash MD5 de uma string, use a função md5().
md5_file( arquivo,bruto )
parâmetro | descrever |
---|---|
arquivo | Obrigatório. Especifica o arquivo a ser calculado. |
cru | Opcional. Um valor booliano que especifica o formato de saída hexadecimal ou binário: TRUE - formato binário bruto de 16 caracteres FALSO - Padrão. Número hexadecimal de 32 caracteres |
Valor de retorno: | Retorna o hash MD5 calculado em caso de sucesso ou FALSE em caso de falha. |
---|---|
Versão PHP: | 4.2.0+ |
Registro de atualização: | No PHP 5.0, o parâmetro raw torna-se opcional. Desde o PHP 5.1, md5_file() pode ser usado através de wrappers. Por exemplo: md5_file("http://w3cschool.cc/..") |
Armazene o hash MD5 de "test.txt" no arquivo:
<?php$md5file = md5_file("test.txt");file_put_contents("md5file.txt",$md5file);?>Detecte 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."; ."; }?>O código acima irá gerar:
O arquivo está ok.