Fórum Sobre Criptografia... #281468

12/05/2005

0

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

Responder

Posts

12/05/2005

Massuda

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.


Responder

Gostei + 0

13/05/2005

Bruno Belchior

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...


Responder

Gostei + 0

13/05/2005

Massuda

....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).


Responder

Gostei + 0

13/05/2005

Bruno Belchior

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...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar