Cómo usar la función crypt () en PHP

Como Usar La Funcion Crypt En Php



El cripta() La función en PHP es una herramienta útil para la criptografía que se utiliza para crear un hash de la cadena dada utilizando algoritmos de hash como Standard DES, Extended DES, MD5, Blowfish, SHA-256 y SHA-512. Esta función se utiliza para el hash unidireccional y el cifrado de cadenas. Se necesitan dos argumentos: la cadena que se va a codificar y un valor de sal opcional, que se utiliza para agregar complejidad al proceso de cifrado y hacerlo más seguro.

En varios sistemas operativos, esta función se comporta de manera diferente. Durante la instalación, PHP examina los algoritmos disponibles y recomendados. Esta función está incluida en PHP versión 4 y posteriores y acepta un parámetro obligatorio y uno opcional.

Sintaxis

Una sintaxis simple seguida por el cripta() función se da a continuación:









cripta ( $cadena , $ sal )

La función acepta dos parámetros:



  • $cadena: Este parámetro es una cadena que desea cifrar. Esta cadena podría truncarse durante la generación de hash, lo que significa que no tendrá en cuenta toda la cadena según el tipo de hash.
  • $sal: Este parámetro se utiliza para seleccionar el método hash.

Esta función devolverá una cadena cifrada.



¿Cómo usar la función crypt () en PHP?

El cripta() La función en PHP se puede usar con diferentes algoritmos de hashing criptográfico para cifrar una cadena; aquí hay algunos ejemplos de cómo usar cripta() con diferentes algoritmos hash:





Vamos a explicar estos métodos en detalle.

1: Usando CRYPT_STD_DES

El CRYPT_STD_DES es uno de los algoritmos hash soportados por el cripta() función en PHP que utiliza el DES estándar (estándar de cifrado de datos) algoritmo para el cifrado. Cuando usas CRYPT_STD_DES , debe proporcionar un valor salt de dos caracteres como segundo argumento para el cripta() función. El valor salt especifica la variación de la clave y la complejidad del proceso de cifrado.



Por ejemplo:



si ( CRYPT_STD_DES == 1 ) {

eco 'DES estándar:' . cripta ( 'bienvenido a linuxhint' , 'str' ) . ' \norte ' ;

} demás {

eco 'No es compatible con DES estándar. \norte ' ;

}

?>

2: Usando CRYPT_EXT_DES

El CRYPT_EXT_DES es otro algoritmo hash soportado por el cripta() función que utiliza el DES extendido (estándar de cifrado de datos) algoritmo para el cifrado. DES extendido es una extensión del algoritmo DES original, que proporciona un espacio de claves más grande y una seguridad mejorada.

Usar CRYPT_EXT_DES , debe proporcionar un valor de sal que comience con _J9 seguido de caracteres adicionales.

Por ejemplo:



si ( CRYPT_EXT_DES == 1 ) {

eco 'DES extendido: ' . cripta ( 'bienvenido a linuxhint' , '_J9.. dutta' ) . ' \norte ' ;

} demás {

eco 'No es compatible con DES extendido. \norte ' ;

}

?>

3: Usando CRYPT_MD5

El CRYPT_MD5 es uno de los algoritmos hash soportados por el cripta() función en PHP que utiliza el MD5 (algoritmo de resumen de mensaje 5 produce un valor hash de 128 bits (16 bytes) ) algoritmo para el cifrado.

Usar CRYPT_MD5 , debe proporcionar un valor de sal que comience con $1$ seguida de algunos personajes.

Por ejemplo:



si ( CRYPT_MD5 == 1 ) {

eco 'MD5: ' . cripta ( 'bienvenido a linuxhint' , '$1$intentando$' ) . ' \norte ' ;

} demás {

eco 'No es compatible con MD5. \norte ' ;

}

?>

4: Usando CRYPT_BLOWFISH

El CRYPT_BLOWFISH es un algoritmo hash ampliamente recomendado compatible con el cripta() función en PHP que utiliza el algoritmo Blowfish para el cifrado. Blowfish es un cifrado de bloque de clave simétrica conocido por su gran seguridad. Usar CRYPT_BLOWFISH , debe proporcionar un valor de sal, que comienza con $2y$ o $2a$ , seguido de un parámetro de costo de dos dígitos y luego el valor de sal real.

Por ejemplo:



si ( CRYPT_BLOWFISH == 1 ) {

eco 'Pez globo:' .

cripta ( 'bienvenido a linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \norte ' ;

} demás {

eco 'No apoyes a Blowfish. \norte ' ;

}

?>

5: Usando CRYPT_SHA256

Otro algoritmo hash soportado por el cripta() la funcion es la CRYPT_SHA256 que utiliza el algoritmo SHA-256 (produce un valor hash de 256 bits (32 bytes)) para el cifrado. Usar CRYPT_SHA256 , debe proporcionar un valor de sal, que comienza con $5$ , seguido de un parámetro de costo de dos dígitos, y luego el valor de sal real

Por ejemplo:



si ( CRYPT_SHA256 == 1 ) {

eco 'SHA-256:' .

cripta ( 'bienvenido a linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \norte ' ;

} demás {

eco 'No es compatible con SHA256. \norte ' ;

}

?>

6: Usando CRYPT_SHA512

El CRYPT_SHA512 es otro algoritmo hash útil soportado por el cripta() función en PHP que utiliza el SHA-512 algoritmo para el cifrado. SHA-512 es una función hash criptográfica ampliamente utilizada que genera un valor hash de 512 bits (64 bytes). Usar CRYPT_SHA512 , debe proporcionar un valor de sal, que comienza con $6$ , seguido de un parámetro de costo de dos dígitos, y luego el valor de sal real

Por ejemplo:



si ( CRYPT_SHA512 == 1 ) {

eco 'SHA-512:' .

cripta ( 'bienvenido a linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \norte ' ;

} demás {

eco 'No es compatible con SHA-512. \norte ' ;

}

?>

Conclusión


El PHP cripta() La función puede cifrar cadenas hash y es una técnica criptográfica unidireccional que admite el algoritmo especificado. Debido a que solo permite el cifrado y no el descifrado, se lo denomina algoritmo unidireccional. Esta función acepta un parámetro obligatorio y uno opcional y devuelve una cadena cifrada. Esta guía implementó la función de cifrado de PHP usando CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , y, CRYPT_SHA512 algoritmos