tutoriais mais recente desenvolvimento web
 

PHP sha1_file() Function

<PHP seqüência de referência

Exemplo

Calcule o hash SHA-1 do arquivo de texto "test.txt" :

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

A saída do código acima será:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d


Definição e Uso

O sha1_file() calcula o SHA-1 hash de um ficheiro.

O sha1_file() função utiliza os EUA Secure Hash Algorithm 1.

De RFC 3174 - A US Secure Hash Algorithm 1: "SHA-1 produces a 160-bit output called a message digest. The message digest can then, for example, be input to a signature algorithm which generates or verifies the signature for the message. Signing the message digest rather than the message often improves the efficiency of the process because the message digest is usually much smaller in size than the message. The same hash algorithm must be used by the verifier of a digital signature as was used by the creator of the digital signature."

Esta função retorna o calculado hash SHA-1 em caso de sucesso, ou FALSE em caso de falha.


Sintaxe

sha1_file( file,raw )

Parâmetro Descrição
file Requeridos. O arquivo deve ser calculada
raw Opcional. Um valor booleano que especifica hex ou formato de saída binária:
  • TRUE - formato binário Raw 20 caracteres
  • FALSE - Padrão. número hexadecimal de 40 caracteres

Detalhes técnicos

Valor de retorno: Retorna o calculado hash SHA-1 em caso de sucesso, ou FALSE em caso de falha
PHP Versão: 4.3.0+
changelog: O parâmetro raw tornou opcional no PHP 5.0

A partir do PHP 5.1, é possível utilizar sha1_file() com invólucros de, por exemplo, sha1_file("http://w3ii.com/..")

mais Exemplos

Exemplo 1

Armazenar o hash SHA-1 de "test.txt" em um arquivo:

<?php
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>

Teste se "test.txt" foi alterada (isto é, se o hash SHA-1 foi alterado):

<?php
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file)
  {
  echo "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?>

A saída do código acima poderia ser:

The file is ok.


<PHP seqüência de referência