[firebase-br] IBO 5.5.3 - Problema ao gravar campo criptografado

Marcos Weimer marcosweimer em gmail.com
Qua Dez 3 16:37:25 -03 2014


Boa dica a do monitor Cantu.

veja oque o monitor exibe:

EXECUTE STATEMENT
TR_HANDLE = 1421
STMT_HANDLE = 1441
Dialect = 3
PARAMS = [  Version 1 SQLd 2 SQLn 2 BasePtr: 0D7AFA82
  [SENHA] = #20'<             ' (15 bytes)    < TEXT SubType: 21 Len: 15
Scale: 0 Data Offset: 0 >
  [OPERADOR] = 116    < LONG SubType: 0 Len: 4 Scale: 0 Data Offset: 17 > ]

SELECT COUNT: 1
UPDATE COUNT: 1

o campo senha deveria ser: #$14'‹'#$1B#7#6#$A#$16

veja que depois do sinal de menor ele se perde.
O valor do campo senha obti com o qgravar.parambyname('senha').asstring



-=Ma®©oS=-
Marcos R. Weimer
Delphi / C# / ASP.NET / PHP / WebServices / Firebird


Em 3 de dezembro de 2014 16:28, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Dependendo do charset que esse campo no BD está definido, o FB poderá
> fazer uma conversão dos caracteres baseado no charset da conexão e o
> charset do campo, mas isso fica transparente, ou seja, mesmo se o
> conteúdo gravado na base for "diferente" daquele que vc mandou gravar,
> na hora que você recuperar ele (usando o mesmo charset de conexão),
> ele tem que vir igual ao que tinha mandado gravar. Se não quiser que
> seja feita qualquer conversão, defina o campo como charset NONE.
>
> Indo mais além, nas versões do Delphi > 2007, o tipo string é
> codificado seguindo o padrão Unicode.
>
> Acho que ajudaria tb se você postasse o string que "era pra ser
> gravado" e o que realmente está sendo gravado.
>
> PS: O IBO tem um monitor que permite que vc veja tudo que está sendo
> enviado e recuperado para/do servidor, portanto você conseguiria ver
> ali a informação que está endo trafegada.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>



Mais detalhes sobre a lista de discussão lista