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

Marcos Weimer marcosweimer em gmail.com
Qua Dez 3 14:39:26 -03 2014


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 <http://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 <http://asp.net/> / PHP / WebServices / Firebird
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em 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 (www.firebase.com.br) - Hospedado em 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