Sobre Criptografia...

Delphi

12/05/2005

Pessoal estou com uma dúvida tenho um campo criptografado numa tabela e uso DbEdit... na hora de setar o valor não sei que evento ou usar, ou seja o usuário irá entrar no DBEdit com a senha normal e depois irei criptografá-la no banco... seria o before post?


Bruno Belchior

Bruno Belchior

Curtidas 0

Respostas

Massuda

Massuda

12/05/2005

Eu acho que poderia ser nos eventos OnGetText e OnSetText do TField associado ao campo; no OnGetText você descriptografa enquanto no OnSetText você criptografa a senha.


GOSTEI 0
Bruno Belchior

Bruno Belchior

12/05/2005

Eu acho que poderia ser nos eventos OnGetText e OnSetText do TField associado ao campo; no OnGetText você descriptografa enquanto no OnSetText você criptografa a senha.
Sim no OnGetText a senha é descriptografada mas no OnSetText o [b:b11f8712b6]Text[/b:b11f8712b6] é uma constante...


GOSTEI 0
Massuda

Massuda

12/05/2005

....mas no OnSetText o [b:52b023095c]Text[/b:52b023095c] é uma constante...
Isso é verdade, mas não importa. O que você deve fazer é criptografar a string em Text e armazenar o resultado no campo da tabela. Algo assim:
procedure TSeuFormSenhaSetText.(Sender: TField; const Text: String);
begin
  Sender.Value := FuncaoSecretaDeCriptografia(Text);
end;

Text é constante porque é o valor que você deve processar. Note que Text será armazenado no campo pela VCL apenas se não existir um tratador para o evento OnSetText (experimente fazer um tratador de evento OnSetText que não faz nada... nada será armazenado na tabela).


GOSTEI 0
Bruno Belchior

Bruno Belchior

12/05/2005

Massuda, consegui resolver meu problema utilizando toda a regra de negócios na classe em vez dos eventos do DataSet... Mas entendi sua colocação quando disse que Text é o valor a ser processado... obrigado...


GOSTEI 0
POSTAR