Encriptar claves

Imagen de Girl126

Forums: 

Hola por favor quien maneje este tema le agradesco me ayude, estoy haciendo un modulo de administracion de usuario en el cual puedo ingresar y modificar usuarios pero anbos deben tener la clave encriptada. Ya termine la parte de ingresar y efectivamente la clave se guarda en la base de datos encriptada, tambien cuando la modifico la guarda encriptada, el problemas es que cuando quiero ingresar a cualquiera de los modulos utilizando cualquiera de las claves que ya estan encriptadas el sistema me dice que la clave es invalida (esto me pasa con todas las claves que guarde encriptadas), ya revise y no estoy ingresando la clave erronea no se entonces porq presento ese error, les adjunto el cogigo que utilizo para encriptar la clave

<?php
// Establecer la contrasena
$clave= 'usua_clave';

// Obtener el hash, generandose la semilla de forma aleatoria
$hash = crypt($clave);

?>
Por favor respondan rapido, gracias...

Que usas para desencriptar la clave ...???

Imagen de deathUser

Creo que crypt es un protocolo de encripción de dos vías (no recuerdo bien), pero te recomendaría hacerlo con md5, básicamente el proceso de encripción es el mismo, y cuando valides el usuario la comparación la haces entre las dos claves enciptadas, es decir por ejemplo:

$clave=md5($_REQUEST['clave']);
$sql='
SELECT COUNT(*) AS cuenta
FROM USERS
WHERE username = "'.$username.'"
AND password = "'$clave.'"
';

Luego si el query te retorna 1 el login es OK, caso contrario falló ...

Suerte ...

bye
:)

posible solucion

el crypt es de dos vias por lo que te podria servir este algoritmo de verificacion, en donde $user_input es el ingresado por el usuario y mypassword es el que esta en la base de datos.

$password = crypt('mypassword');

if (crypt($user_input, $password) == $password) {
echo "Password correcto";
}