Home > Php > Encriptar y desencriptar cadena con PHP

Muchas veces necesitamos guardar datos encriptados de cierta forma por ello les traigo esta función que me encontré en la red una es para encriptar los datos y la otra para poderlos recuperar en ellos solo tendremos que pasar los datos.

function encrypt($string, $key) {
   $result = '';
   for($i=0; $i<strlen($string); $i++) {
      $char = substr($string, $i, 1);
      $keychar = substr($key, ($i % strlen($key))-1, 1);
      $char = chr(ord($char)+ord($keychar));
      $result.=$char;
   }
   return base64_encode($result);
}

Se utiliza un código secreto, que es el que se pone en $key y que cuando desencriptemos necesitaremos saberlo para que lo haga correctamente. Para encriptar una cadena escribimos

function decrypt($string, $key) {
   $result = '';
   $string = base64_decode($string);
   for($i=0; $i<strlen($string); $i++) {
      $char = substr($string, $i, 1);
      $keychar = substr($key, ($i % strlen($key))-1, 1);
      $char = chr(ord($char)-ord($keychar));
      $result.=$char;
   }
   return $result;
}

Modo de uso

$cadena_encriptada = encrypt("LA CADENA A ENCRIPTAR","LA CLAVE");

Encrita

$cadena_desencriptada = decrypt("LA CADENA ENCRIPTADA","LA CLAVE QUE SE USÓ PARA ENCRIPTARLA");