Quizá te sirva esta propuesta de caricatos, que es fácilmente portable a php:
http://www.forosdelweb.com/1007977-post6.html
En php podría ser algo así:
Código PHP:
function encripta($cadena) {
$cadenaEncriptadora = "caricatos";
$indice = 0;
$tope = strlen($cadena);
$n = strlen($cadenaEncriptadora);
$resultado = array();
do {
$resultado[$indice] = ord($cadenaEncriptadora[$indice % $n]) ^ ord($cadena[$indice]);
}
while (++$indice < $tope);
return utf8_encode(implode('-',$resultado));
}
function desEncripta($cadena) {
$cadena=explode('-',$cadena);
$cadenaEncriptadora = "caricatos";
$indice = 0;
$tope = count($cadena);
$n = strlen($cadenaEncriptadora);
$resultado = "";
do {
$resultado .= chr(ord($cadenaEncriptadora[$indice % $n]) ^ $cadena[$indice]);
}
while (++$indice < $tope);
return $resultado;
}