Función PHP SHA1

Función PHP SHA1
PHP tiene muchas funciones incorporadas para asegurar los datos de la aplicación. El algoritmo Hashing es una de las formas de asegurar los datos de cadena creando una cadena hash de los datos de cadena. El sha1 () es una función incorporada de PHP para crear la cadena hash de cualquier valor de cadena. La forma completa de SHA1 es el algoritmo de hash seguro 1. Genera una cadena hash que se llama Digest de mensajes. Los diferentes usos de esta función se muestran en este tutorial.

Sintaxis:
Sha1 (String $ String, Bool $ binary = false): string

El primer argumento es obligatorio y la cadena hash se genera en función del primer valor de argumento. El segundo argumento es opcional que contiene un valor booleano. Si el valor del segundo argumento es verdadero, se genera una cadena hash de 20 caracteres de datos en formato binario. Si el segundo argumento es falso, se genera una cadena hash de 40 caracteres en formato hexadecimal. Devuelve el valor hash de la cadena que se usa en el primer argumento de la función.

Diferentes ejemplos de función sha1 ()

Los diferentes usos de la función Sha1 () se muestran en esta parte del tutorial utilizando múltiples ejemplos.

Ejemplo 1: Uso de la función Sha1 () sin un argumento opcional

Cree un archivo PHP con el siguiente script que crea un valor de hash de 40 caracteres usando la función Sha1 () sin el argumento opcional. El valor de cadena original y el valor de hash generado se imprimen más tarde.

// Asignar un valor de cadena
$ strval = "mensaje de prueba";
echo "La cadena original: $ strval
";
// imprime la cadena hash generada
Echo "La cadena hash:".Sha1 ($ Strval);
?>

Producción:
La siguiente salida aparece después de ejecutar el script anterior:

Ejemplo 2: Uso de la función Sha1 () con un argumento opcional

Cree un archivo PHP con el siguiente script que crea el valor hash usando la función sha1 () con el argumento opcional. Cuarenta (40) caracteres del valor hash se generan cuando FALSO se usa en el valor de argumento opcional de la función sha1 (). Veinte (20) caracteres hash valor se generan cuando Verdadero se usa en el valor de argumento opcional de la función sha1 (). El valor de cadena original, el valor hash generado de 40 caracteres y 20 caracteres se imprimen más tarde.

// Asignar un valor de cadena
$ strval = "mensaje de prueba";
echo "La cadena original: $ strval
";
// imprime la cadena hash generada
Echo "La cadena hash de 40 caracteres:".Sha1 ($ Strval, falso)."
";
// imprime la cadena hash generada
Echo "La cadena hash de 20 caracteres":.Sha1 ($ Strval, verdadero)."
";
?>

Producción:
La siguiente salida aparece después de ejecutar el script anterior:

Ejemplo 3: Verificar el valor hash de la cadena en particular

Cree un archivo PHP con el siguiente script que verifica si un valor hash de una cadena es correcto o incorrecto. El valor de la cadena se toma del parámetro URL y el valor hash de ese valor de cadena se compara con un valor hash particular para confirmar si el valor de la cadena tomado es correcto o no.

if (isset ($ _ get ['msg']))

// Generar el valor hash de la cadena leída de la URL
$ strval = sha1 ($ _ get ['msg']);
// imprime el valor de cadena original
Echo "La cadena original:".$ _Get ['msg']."
";
// Verifique el valor hash del valor de cadena correspondiente
if ($ strval == '640ab2bae07bedc4c163f679a746f7ab7fb5d1fa')
echo "valor hash correcto";
demás
hacer eco "valor hash incorrecto.";

demás
Echo "El valor de la cadena no se da.";
?>

Producción:
La siguiente salida aparece después de ejecutar el script anterior sin el parámetro URL:

La siguiente salida aparece después de ejecutar el script anterior proporcionando la cadena válida en el parámetro URL:

Ejemplo 4: Uso de la función Sha1 () para la validación

La función sha1 () se puede utilizar para validar los datos. La forma de validar la información de inicio de sesión utilizando la función Sha1 () se muestra en este tutorial. Crear un archivo html llamado acceso.html con el siguiente script que toma el nombre de usuario y la contraseña del usuario utilizando un formulario HTML. Los datos del formulario se analizan utilizando un archivo PHP llamado acceso.php.

acceso.html



Acceso



Formulario de inicio de sesión














Crear un archivo php llamado inicio de sesión.PHP con el siguiente script. Los valores de nombre de usuario y contraseña que envían el formulario se almacenan en dos variables. A continuación, se verifica el valor del nombre de usuario y la contraseña. Si el nombre de usuario contiene el "administración"El valor y la contraseña contienen el"contraseña secreta"Valor, el"Usuario válidoSe imprime el mensaje. De lo contrario, el "Usuario invalidoSe imprime el mensaje.

acceso.php

// Verifique si la variable está configurada o no
if (isset ($ _ post ['un']) && isset ($ _ post ['pwd']))

$ username = $ _post ['un'];
$ contraseña = $ _post ['pwd'];
$ hash_password = 'E5E9FA1BA31ECD1AE84F75CAAA474F3A663F05F4';
// verifique si el valor enviado está vacío o no
if ($ username != "" && $ contraseña != "")

// verifique si los valores enviados son válidos o no válidos
if ($ username == 'admin' && sha1 ($ contraseña) == $ hash_password)
echo "usuario válido.";
demás
Echo "Usuario inválido.";

demás
Echo "El nombre de usuario o la contraseña no se pueden vaciar.";

?>

Producción:
La siguiente salida aparece después de ejecutar el acceso.html Del navegador:

Escriba el nombre de usuario y la contraseña válidos en el formulario de inicio de sesión y haga clic en el Acceso botón.

La siguiente salida aparece para los valores válidos de nombre de usuario y contraseña:

La siguiente salida aparece para los valores de nombre de usuario o contraseña no válidos:

Conclusión

Los diferentes usos de la función sha1 () se describen en este tutorial utilizando esta función de múltiples maneras. PHP tiene muchas otras funciones como la función Sha1 () para generar los valores hash, pero esta función es tan simple de usar para validar los datos o verificar la integridad de los datos. Esperamos que este tutorial ayude a los usuarios de PHP a saber cómo usar la función sha1 () correctamente.