Cuando enviamos datos a través de un formulario HTML, el navegador envia algo similar a esto al servidor:

POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: THE LENGTH

nombre=blabla&contraseña=blabla&correo=algun_correo

Pero existen problemas con esto si nuestro objetivo es desarrollar una aplicación segura, pues alguien puede ver la información que se está enviando ó algún software spam podrían aprovechar esta pequeña, digamos, vulnerabilidad.

Y si el envio al servidor queda de esta forma ¿les parecería más seguro?

POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: THE LENGTH

JDF8W9JHF=blah&OEROWF83=blah&VLKDSFOE=some_email

¿Qué pasa en este ejemplo? Pues el nombre de las variables ó campos se ha codificado, de tal forma que un usuario "extraño" no tendrá idea de que OEROWF83 significa "contraseña", incluso un software spam no tendrá forma de averiguar el nombre del campo pues este se genera de manera aleatoria. El unico que sabe cómo funciona la forma en que está codificado eres tú.

¿Cómo se logra esto? Esta es una clase que encontré en Web Development, el nombre del autor no lo encontre, pero escribe con el nick CodeHead. La clase funciona muy bien. Pueden descargar el código fuente y probarlo en su servidor local.