Hola a todos. Bueno con referencia al login creo que lo mejor es almacenarlo en la base de datos, de manera encriptada.
y la forma mas segura seria la siguiente.. (Fanaticos del Hack o Decrypt abstenerse) es para Usuarios medios ejjeee.
Bueno mira. lo que tendrias que hacer es: El PSW que el usuario ingrese modificarlo utilizando el Nombre de Usuario+ algun algoritmo matematico.
porque? bueno porque si el usuario se le ocurre entrar a la base de datos y tocar o borrar directamente el Campo Password de la base de datos siemplemente este no Funcionaria.
La Desencriptacion seria el inverso a la Encriptacion

.
Código Delphi
[-]
Function Crypt(Psw,User:string):string;
Cont C=666;
var i,n:Integer;
begin
result:='';
for i:=1 to length(psw) do begin
if I<=length(user) then
n:=i;
else if n>=length(user) then
n:=1
else
inc(n);
result:=result+Inttostr((Byte(User[n])-byte(psw[i])) XOR c) +',';
end;
end;
esto te daria un string "12,255,123,789" el cual deberias alamacenar en la base de datos. y al momento de hacer el logue deberias hacer el paso inverso.
Saludos
PD: la funcion inversa al Byte es Char()