Encriptar cadena de forma sencilla con PHP

Encriptar cadena de forma sencilla con PHP

PHP

Si necesitamos encriptar algún dato sensible, como los números de tarjetas de crédito o contraseñas podremos hacerlo mediante base de datos o utilizando PHP.

password_hash

Si utilizamos la función password_hash() de PHP podremos generar un hash, y posteriormente hacer comprobaciones contra éste.

En el siguiente ejemplo vamos a generar un hash a partir de una cadena:

<?php

$opciones = [
    'cost' => 12,
];

$dato_sensible = "Este es el mensaje original";

$hash = password_hash($dato_sensible, PASSWORD_BCRYPT, $opciones); exit();

?>

password_verify

Utilizaremos esta función para comprobar que el hash del dato que le pasamos coincida con el que tenemos almacenado.

En el siguiente ejemplo vamos a comprobar que un hash creado a partir de un dato recibido coincide con el almacenado:

<?php

$dato_recibido = "Este es el mensaje original";
$hash_almacenado = "$2y$12$XQj4owWEaX3gJmLU8IHKUuO0QZmHOciwLwipWEDXzSDFEYAgnql8G";

if(password_verify($dato_recibido, $hash_almacenado)) {
    echo "Coincide";
}else{
    echo "No coincide";
}

?>

Leave a reply