PDA

Ver la Versión Completa : Problemas para comparar con SQL...


Rubiel
14-06-2003, 07:47:21
Tengo este código, con le cual pido contraseñas, además realiza una codificación de las misma (bueno, solo incremente 5 caracteres a cada dato de acuerdo a su código ASCII). Y esa información me la compara despues a mi tabla de contraseñas. Me pasaron este código, pero no me funciona, alguien me puede dar otra solución???


PW := edPassword.Text;
for i:=0 to Length(edPassword.Text) do
begin
PW[i] := Char(Ord(PW[i])+5);
end;
edPassword.Text := PW;

qryPassword.Close;
qryPassword.SQL.Clear;
qryPassword.SQL.Add('Select Contraseña,Permiso From Contraseñas');
qryPassword.SQL.Add('Where Contraseña Like "%'+edPassword.Text+'%"');
qryPassword.Open;


De antemano, Gracias...:). Ahh y no se para que sea lo que encierra el "edPassword.text", si lo saben tambien comentenme para no estar en duda.. ok??? Chao.

marcoszorrilla
14-06-2003, 14:04:45
procedure TForm1.Button1Click(Sender: TObject);
var
PW:String;
I:Integer;
begin
{esto es un Tedit de nombre edPassword en donde el usuario introduce
la contraseña, que luego se pasa a una variable de tipo texto}
PW := edPassword.Text;

{Se recorre la cadena caracter por caracter y se increment su código
ASCII en 5, he corregido la posición 0 por 1}
for i:=1 to Length(edPassword.Text) do
begin
{Se guarda el código encriptado en la misma variable}
PW[i] := Char(Ord(PW[i])+5);
end;
{Se vuelve a pasar el valor ya encriptado al propio Tedit en el que se tecleo
no sería necesario ya lo tenemos en PW, además supongo que estará activo Passwordchar
ya que sino se vería el código utilizado para encriptación}
edPassword.Text := PW;

{qryPassword.Close;
qryPassword.SQL.Clear;
qryPassword.SQL.Add('Select Contraseña,Permiso From Contraseñas');
//Supongo que de lo que se trata es de que si la contraseña no es exacta
//que no aparezca ningún usuario válido?
qryPassword.SQL.Add('Where Contraseña Like "%'+edPassword.Text+'%"');
qryPassword.SQL.Add('Where Contraseña ='+QuotedStr(edPassword.Text));
qryPassword.Open;}
end;




Yo utilizo nombre de usuario y contraseña, primero escribe su nombre de usuario o lo elige de una lista y luego introduce su contraseña que la tengo encriptada en una tabla.

Una observación supongo que el algoritmo de encriptación es de prueba, porque eso se tardaría 5 minutos en descifrar.

Un Saludo.