martes, 16 de marzo de 2010

Encriptar y Desencriptar con PHP

Aqui les dejo dos funciones que pueden servirle para encriptar y desencriptar cadenas con una llave (parámetro opcional de las funciones).


function my_encrypt($string, $key = "48623468281AX4") {
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);
}

function my_decrypt($string, $key = "48623468281AX4" ) {
$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;
}

$message = "HELLO MY WORLD!";
echo "Mensaje: ".$message." ";
$enc = my_encrypt($message);
echo "Mensaje encriptado: ".$enc." ";
echo "Mensaje desencriptado: ".my_decrypt($enc)." ";


en donde el navegador mostrará el siguiente resultado:
Mensaje: HELLO MY WORLD!
Mensaje encriptado: fHmEgoFTgY9YiYeDjZxV
Mensaje desencriptado: HELLO MY WORLD!

No hay comentarios: