Ver Mensaje Individual
  #1  
Antiguo 26-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Reputación: 0
nefy Va por buen camino
List index out of bounds(6) al desencriptar

Hola tengo el siguiente problemilla, manejo una tabla de Passwords(Nombre y Contrasenya), la contraseña la encripto al guardarla en la tabla asi:
Código:
function Encryptar(const S: String; Key: Word): String;
var
  I: byte;
begin
  SetLength(Result,Length(S));
  for I := 1 to Length(S) do begin
    Result[i] := char(byte(S[i]) xor (Key shr 8));
    Key := (byte(Result[i]) + Key) * C1 + C2;
  end;
end;
y para validar una sesion desencripto el password asi:
Código:
function Desencryptar(const S: String; Key: Word): String;
  var
    I: byte;
  begin
    SetLength(Result,Length(S));
    for I := 1 to Length(S) do begin
      Result[i] := char(byte(S[i]) xor (Key shr 8));
      Key := (byte(S[i]) + Key) * C1 + C2;
    end;
  end;    //Codigo de trcuomania segun Borland
el problema que surge es q al validar un usuario que no sea el admnistrador me envia la Exeption antes mencionada, esto sin importar si el password es de uno o mas caracteres.

Nota: Ya he vaciado la tabla he insertado nuevos registros una y otra vez y ocurre lo mismo. Uso Delphi 6 y Paradox.

Salu2
Responder Con Cita