Cita: gracias por la explicacion... pero la veadd ke no logre entender bien puesto ke... hasta donde yo sabia la idea de encriptar algo es poder desencriptarlo despues.... pero si no hay manera de conseguir el input con el output no entiendo bien como usaria esto... puesto ke lo uniko ke me kedaria seria una cadena de caracteres larga??? porfa una ayudita para interpretar mejor la aplicacion de esto
No siempre. En este caso, la idea de la encriptación es que sólo el usuario conozca su clave original, y nadie más, ni siquiera alguien con acceso a la base de datos. En la base guardás la contraseña encriptada y al recibir la contraseña del usuario, la encriptás y la comparás contra la que está guardada en la base. Si son iguales, la contraseña es válida.
Este sistema se usa en muchos "logins" (con md5, sha1 o algún otro algoritmo similar). Por eso, por ejemplo, en muchos sitios si perdés la clave te generan una
nueva temporal y te permiten después elegir
otra. (Pero no te mandan de vuelta la clave que originalmente ingresaste al registrarte). Es que el sistema no puede reconstruir la clave original.
Para que los datos se encripten durante la transferencia y poder desencriptarlos al llegar al destino se usan otros métodos (otros algoritmos, calculo, y también SSL - https ). Esto es para evitar que los datos sean interceptados por un "sniffer" mientras van desde el cliente al servidor.
Cita: no entendi muy bien q hace el link, es decir no uso flags, como se podria hacer??
El link apunta a un script que lo único que hace es activar usuarios, ok?. Cuando un usuario se registra, grabás en la tabla de usuarios todos los datos que quieras (nombre, clave elegida, direccion, id_usuario, etc, etc), más una clave única aleatoria y un flag (una variable o un campo en este caso) que indica si el usuario está activo o no que tiene un valor generalmente booleano. True o false, o 1 ó 0.
Entonces, al registrarse, además de los datos habituales, grabás, pongamos, flagActivo = 0 (siempre arranca en 0 porque no está activo) y la clave. Después de grabar estos datos, mandás un mail al usuario con un link que apunte al script de activación y le pasás como parámetros el id_usuario y la clave.
En ese script, te fijás si en la tabla hay algún usuario que tenga ese mismo id_usuario y esa clave. Si es así, significa que el usuario está pidiendo que se le de el alta. Nadie más puede pedirlo por él, ni él puede hacerlo por otro usuario (a menos que se conozcan las claves). Ok, entonces si el pedido es válido (los datos coinciden con los de un usuario, lo único que hacés es cambiar el valor del campo flagActivo de ese registro a 1 y a partir de ahí vas a saber siempre que ese usuario está activo. (Después de hacer click en el link lo podés mandar al login o iniciar la sesión directamente y redireccionarlo a la página de inicio, como quieras).
En el login siempre chequeás, además de nombre y contraseña, que flagActivo esté en 1. Si el nombre y la contraseña son válidos, pero no está activo, es porque el usuario nunca siguió el link que le mandaste. Entonces, le mostrás un recordatorio de que al registrarse se le envió un mail con un link para activarse como usuario, y que tiene que cumplir ese procedimiento para poder ingresar. (este sistema se usa más que nada para asegurarse de que al momento de registrarse los usuarios dejen como email una dirección que realmente exista, a la que tengan acceso)
Suerte
Califa