Hola:
Existen mecanismos seguros para hacer eso.
Lo q necesitas es un
cifrador de flujo. Búscalo en Google para q veas cómo funciona y si hay alguna implementación disponible para PHP.
El esquema de funcionamiento (MUY básicamente) es así:
A partir de una llave (también se le llama semilla) se empieza a generar un flujo de bytes pseudoaleatorio. Para la misma llave siempre se genera el mismo flujo.
De este flujo tomas la cantidad de bytes q necesites y aplicas XOR uno a uno con los caracteres del texto a cifrar. El resultado es el texto ya cifrado.
Para descifrar tomas la llave, generas el mismo flujo, aplicas XOR al texto cifrado y el resultado es el mensaje original.
Hay algunas consideraciones de seguridad más q debes tener en cuenta, como el tamaño de la llave y por ejemplo que NUNCA vayas a usar 2 veces la misma.
slds;
nup_