Función sha1_file() de PHP
Ejemplo
Calcular el hash SHA-1 del archivo de texto "test.txt":
<?php $filename = "test.txt"; $sha1file = sha1_file($filename); echo $sha1file; ?>
Salida del código anterior:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Definición y uso
La función sha1_file() calcula el hash SHA-1 del archivo.
La función sha1_file() utiliza el algoritmo de hash de seguridad de EE. UU. 1.
La explicación de RFC 3174 - El algoritmo de hash de seguridad de EE. UU. 1: SHA-1 produce una salida de 160 bits denominada resumen de mensaje. El resumen de mensaje se puede ingresar en un algoritmo de firma que puede generar o verificar la firma del mensaje. Firmar el resumen del mensaje en lugar de firmar el mensaje en sí mismo puede mejorar la eficiencia del proceso, ya que el tamaño del resumen del mensaje es generalmente mucho menor que el del mensaje. El verificador de la firma digital debe usar el mismo algoritmo de hash que el creador de la firma digital.
Si tiene éxito, devuelve el hash SHA-1 calculado, si falla, devuelve FALSE.
Sintaxis
sha1_file(file,raw)
Parámetros | Descripción |
---|---|
file | Requerido. Especifica el archivo a calcular. |
raw |
Opcional. Booleano, especifica el formato de salida en hexadecimal o binario:
|
Detalles técnicos
Valor de retorno: | Si tiene éxito, devuelve el hash SHA-1 calculado, si falla, devuelve FALSE. |
Versión de PHP: | 4.3.0+ |
Registro de actualizaciones: |
En PHP 5.0,raw El parámetro se convierte en opcional. Desde PHP 5.1, se puede usar sha1_file() encapsulando. Por ejemplo: sha1_file("http://codew3c.com/..") |
Más ejemplos
Ejemplo 1
Almacenar el hash SHA-1 del archivo "test.txt":
<?php $sha1file = sha1_file("test.txt"); file_put_contents("sha1file.txt",$sha1file); ?>
Prueba si "test.txt" ha sido modificado (es decir, si el SHA-1 ha sido modificado):
<?php $sha1file = file_get_contents("sha1file.txt"); if (sha1_file("test.txt") == $sha1file) { echo "El archivo está bien."; } else { echo "El archivo ha sido cambiado."; } ?>
Salida del código anterior:
El archivo está bien.