Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas para comparar con SQL... (https://www.clubdelphi.com/foros/showthread.php?t=1445)

Rubiel 14-06-2003 07:47:21

Problemas para comparar con SQL...
 
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???

Código:

    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

Código:

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.


La franja horaria es GMT +2. Ahora son las 05:27:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi