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

Cyber Guido cyberguido em gmail.com
Qua Dez 3 14:55:35 -03 2014


Pelo que entendi até aqui, a função retorna o valor correto, o problema 
é apenas quando grava no banco, certo? Ou seja, se você fizer um 
programa que pegue o conteúdo de um editor, o criptografe, e o apresente 
em outro editor, o resultado é perfeito?

Se sim, a minha suspeita, na verdade a única explicação que vejo, é que 
o IBO esteja fazendo alguma conversão no momento de enviá-lo para o 
banco, não vejo outra explicação.

Cordialmente,
Carlos

------ Original Message ------
From: "Marcos Weimer" <marcosweimer em gmail.com>
To: "Cyber Guido" <cyberguido em gmail.com>
Cc: "FireBase" <lista em firebase.com.br>
Sent: 03/12/2014 14:39:26
Subject: Re: Re[2]: [firebase-br] IBO 5.5.3 - Problema ao gravar campo 
criptografado

>tem, mas também não funcionou.
>
>Veja a function...
>
>function Criptografia(mStr, mChave: ansistring): ansistring;
>var
>   i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
>begin
>   Result := mStr;
>   TamanhoString := Length(mStr);
>   TamanhoChave := Length(mChave);
>   for i := 1 to TamanhoString do
>   begin
>     pos := (i mod TamanhoChave);
>     if pos = 0 then
>       pos := TamanhoChave;
>     PosLetra := ord(Result[i]) xor ord(mChave[pos]);
>     if PosLetra = 0 then
>       PosLetra := ord(Result[i]);
>     Result[i] := AnsiChar(PosLetra);
>   end;
>end;
>
>oque esta ansistring estava string e onde esta ansichar estava chr
>
>está função é bem antiga e não tenho como mudar (centenas de senhas 
>criptografadas), senão partiria para um hash md5 ou algo do genero.
>
>
>-=Ma®©oS=-
>Marcos R. Weimer
>Delphi / C# / ASP.NET / PHP / WebServices / Firebird
>
>
>Em 3 de dezembro de 2014 14:34, Cyber Guido <cyberguido em gmail.com> 
>escreveu:
>>Neste caso a única suspeita que eu tenho é que 
>>"qgrava.parambyname('senha').asstring", mais precisamente "asstring", 
>>esteja interferindo. Apesar de mostrar o valor correto pode estar 
>>enviando uma sequência de bytes incorreta. Não tem "asAnsiString" como 
>>no FireDAC?
>>
>>Cordialmente,
>>Carlos
>>
>>------ Original Message ------
>>From: "Marcos Weimer" <marcosweimer em gmail.com>
>>To: "Cyber Guido" <cyberguido em gmail.com>; "FireBase" 
>><lista em firebase.com.br>
>>Sent: 03/12/2014 13:29:48
>>Subject: Re: [firebase-br] IBO 5.5.3 - Problema ao gravar campo 
>>criptografado
>>
>>>Esqueci de mencionar, mas eu já havia alterado para ansistring sem 
>>>sucesso, por isso que mandei a duvida aqui na firebase e não em uma 
>>>lista de delphi.
>>>
>>>- No ctrl+F7 o valor retornado é o correto
>>>- depois de passar o parametro para a query no vejo o valor que está 
>>>no parametro e é o correto
>>>
>>>Só quando grava que algo de errado acontece
>>>
>>>-=Ma®©oS=-
>>>Marcos R. Weimer
>>>Delphi / C# / ASP.NET / PHP / WebServices / Firebird
>>>
>>>
>>>Em 3 de dezembro de 2014 12:36, Cyber Guido <cyberguido em gmail.com> 
>>>escreveu:
>>>>Marcos,
>>>>
>>>>XE6, como já foi dito, trata strings de maneira radicalmente 
>>>>diferente do D6. Experimente substituir 'String' por 'AnsiString' 
>>>>(no D6 strings eram ansistring) que deve resolver.
>>>>
>>>>Este artigo de autoria de Cary Jensen pode ser útil
>>>>
>>>>http://caryjensen.blogspot.com.br/2010/01/migrating-existing-delphi-applications.html
>>>>
>>>>preste especial atenção ao 8º parágrafo que tem link para um white 
>>>>paper.
>>>>
>>>>Cordialmente,
>>>>Carlos
>>>>
>>>>
>>>>------ Original Message ------
>>>>From: "Marcos Weimer" <marcosweimer em gmail.com>
>>>>To: "FireBase" <lista em firebase.com.br>
>>>>Sent: 03/12/2014 11:55:07
>>>>Subject: [firebase-br] IBO 5.5.3 - Problema ao gravar campo 
>>>>criptografado
>>>>
>>>>>Ola!
>>>>>
>>>>>Sempre gravamos da mesma forma...
>>>>>qgrava.parambyname('senha').asstring := criptografia(senhadigitada,
>>>>>chavecripto)
>>>>>
>>>>>a function criptografia retorna uma string 
>>>>>#$14#$008B#$1B#7#6#$A#$16
>>>>>
>>>>>quando vou no parambyname o valor confere com oque é retornado pelo
>>>>>criptografia, mas ao gravar não funciona.
>>>>>
>>>>>Antes usávamos o IBO 4.9.8 (no D6, agora utilizamos o XE6) e 
>>>>>funcionava
>>>>>perfeitamente. Alguém passou por algo similar ?
>>>>>
>>>>>
>>>>>-=Ma®©oS=-
>>>>>Marcos R. Weimer
>>>>>Delphi / C# / ASP.NET / PHP / WebServices / Firebird
>>>>>______________________________________________
>>>>>FireBase-BR (http://www.firebase.com.br/) - Hospedado em 
>>>>>http://www.locador.com.br/
>>>>>Para saber como gerenciar/excluir seu cadastro na lista, use: 
>>>>>http://www.firebase.com.br/fb/artigo.php?id=1107
>>>>>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>>>>______________________________________________
>>>>FireBase-BR (http://www.firebase.com.br/) - Hospedado em 
>>>>http://www.locador.com.br/
>>>>Para saber como gerenciar/excluir seu cadastro na lista, use: 
>>>>http://www.firebase.com.br/fb/artigo.php?id=1107
>>>>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>


Mais detalhes sobre a lista de discussão lista