Se le olvido
base64_encode()
http://php.net/manual/es/function.base64-encode.php
y base64_decode()
http://php.net/manual/es/function.base64-decode.php
Nota: para encriptar de manera 100% segura de cara a lo que pueda ver el cliente de cara a la información, en lugar de:
Cita: <?php
/* Se ha obtenido en $row los datos del usuario.
MY_SECRET_HASH está definido en la sesion, y es inicializado a una cadena aleatoria.
$formName es un nombre que le demos al formulario.
*/
$hash=md5($_SESSION["MY_SECRET_HASH"].$formName.$row["id"]);
$_SESSION["FORMS"][$hash]=array("id"=>$row["id"]);
?>
<input type="hidden" name="hash" value="<?php echo $hash;?>" />
Yo haria:
Cita: <input type="hidden" name="hash" value="<?php echo $id ?>" />
Y despues en la recogida de datos, encripto ese valor y lo comparo con el de la db, de este modo el usuario no se puede ni imaginar que se cuece a lvl servidor.