Seguramente te refieres a una cadena md5.
El proceso que hacen es el siguiente:
* Después de recibir los datos del usuario, se crea una cadena de texto compuesto con el nombre del usuario, algún dato privado más y una cadena que sólamente tu como administrador sabes.
* De esa cadena se calcula su md5.
* Se crea un fichero temporal que tenga justo ese nombre (esto no tiene porqué ser así. Realmente este paso se tiene que referir al hecho de que tu programa debe ser capaz de localizar a qué usuario se refiere cuando alguien solicita esa URL, por lo que en vez de ser un fichero temporal, podría ser un fichero de sessión hecho con CGI::Session, por ejemplo). Dentro del fichero temporal, guardamos el identificador del usuario en la base de datos.
* Emitimos el correo electrónico al usuario.
* Si el usuario recibe el correo, al pulsar sobre el enlace estará ejecutando otro de nuestros programas, que recuperará el fichero temporal y de ahí se sabe qué usuario ha confirmado su correo.
* Si coincide una nueva construcción md5 de los mismos componentes con el md5 que se envió al usuario, entonces estaremos seguros de que es la misma persona que ha recibido el correo.
Un ejemplo:
- Código: Seleccionar todo
explorer@casa:~> perl -le 'use Digest::MD5 "md5_hex"; print uc md5_hex("JoaquinFerrero:6754:mi frase secreta")'
E63969D53318E72592F5DDD76FE1CAE0
Hay más variantes, desde luego. Se usa md5 por ser muy 'aleatoria' en su presentación.