![]() |
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; Código:
function Desencryptar(const S: String; Key: Word): String; Nota: Ya he vaciado la tabla he insertado nuevos registros una y otra vez y ocurre lo mismo. Uso Delphi 6 y Paradox. Salu2 |
Perdon me falto añadir q C1 y C2 son constantes (C1=52845 y C2=11719).
|
Puedes probar con las siguientes funciones, a mi me han funcionado:
Esta es para Encriptar function TForm1.Cifra(Const Valor:String):String; var Indice:Integer; cadena:String; begin for Indice:=1 to Length(Valor) do begin cadena:=cadena+chr(StrToInt(IntToStr(ord(Valor[Indice])+Constante))); end; Result:=cadena; end; Esta para Desencriptar function TForm1.DesCifra(Const Valor:String):String; var Indice:Integer; cadena:String; begin for Indice:=1 to Length(Valor) do begin cadena:=cadena+chr(StrToInt(IntToStr(ord(Valor[Indice])-Constante))); end; Result:=cadena; end; |
Mirá, recién probé lo siguiente con tus rutinas y me anduvo 10 puntos:
Eso quiere decir que el error puede estar en la BD, pero eso entraría en otro foro ;) |
Creo que el problema está fuera de las rutinas, que se ven bastante sanas. Revisá las líneas posteriores a su llamada..
Hasta luego. ;) |
Parece ser que quizas sea esa solucion (checar codigo alrededor), ya lo he hecho pero tratare mas haber q pasa.
Salu2. |
Pues ya cheque y la excepcion me la genera nada menos q en un locate:
Código:
if (not TUsuarios.Locate('Nom_Usuario',nombre,[])) then |
La franja horaria es GMT +2. Ahora son las 10:44:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi