Calcule el hash SHA-1 del archivo de texto "test.txt":
<?php$nombre de archivo = "test.txt";$sha1file = sha1_file($nombre de archivo);echo $sha1file;?>El código anterior generará:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dLa función sha1_file() calcula el hash SHA-1 de un archivo.
La función sha1_file() utiliza el algoritmo American Secure Hash1.
Explicación de RFC 3174 - Algoritmo Hash seguro 1 de EE. UU.: SHA-1 produce una salida de 160 bits llamada resumen del mensaje. El resumen del mensaje se puede introducir en un algoritmo de firma que genera o verifica la firma del mensaje. Firmar el resumen del mensaje en lugar del mensaje puede mejorar la eficiencia del proceso porque el tamaño del resumen del mensaje suele ser mucho más pequeño que el mensaje. El verificador de una firma digital debe utilizar el mismo algoritmo hash que el creador de la firma digital.
Devuelve el hash SHA-1 calculado en caso de éxito, o FALSO en caso de error.
sha1_file( archivo,sin formato )
parámetro | describir |
---|---|
archivo | Requerido. Especifica el archivo que se va a calcular. |
crudo | Opcional. Un valor booleano que especifica el formato de salida hexadecimal o binario: VERDADERO: formato binario sin formato de 20 caracteres FALSO: predeterminado. Número hexadecimal de 40 caracteres. |
Valor de retorno: | Devuelve el hash SHA-1 calculado en caso de éxito, o FALSO en caso de error. |
---|---|
Versión PHP: | 4.3.0+ |
Registro de actualización: | En PHP 5.0, el parámetro sin formato se vuelve opcional. Desde PHP 5.1, sha1_file() se puede utilizar mediante encapsulación. Por ejemplo: sha1_file("http://w3cschool.cc/..") |
Guarde el hash SHA-1 de "test.txt" en el archivo:
<?php$sha1file = sha1_file("test.txt");file_put_contents("sha1file.txt",$sha1file);?>Detecte si se ha cambiado "test.txt" (es decir, si se ha cambiado el hash SHA-1):
<?php$sha1file = file_get_contents("sha1file.txt");if (sha1_file("test.txt") == $sha1file) { echo "El archivo está bien."; else { echo "El archivo ha sido modificado"; ."; }?>El código anterior generará:
El archivo está bien.