Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Miss

Cripitografia

Recommended Posts

Ola galera, fiz uma funcao pra incriptografar o nome dos usuarios e senha....ate ai td bm ele salva os dodos incriptados na tabela e no hora de logar eu faço a desincriptacao normal;;.;o problema eh qdo vo exibir o nome do usuario numa db grid.... ele ta apracendo incriptado;;;como eu faço pra desincriptar os registros pra mostrar desincriptado na grid??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola! Bom Dia Marcio !

 

Fiz da forma q você flw... soh q a funcao q eu uso pra cryptografar gera caracteres como por ex: "^ - # %"

 

e no caso qdo vo fazer uma consulta SQL usando a instrucao LIKE ele naum pesquisa corretamente...

 

 

 

procedure TfrmUsuarios.txtPesquisaOnChange(Sender: TObject);varConsulta: string;beginConsulta:= Decrypta(txtConsulta.Text);qryUsuarios.Close;qryUsuarios.SQL.Clear;qryUsuarios.SQL.Add('Select * from USUARIOS WHERE NOME LIKE '%'' + Consulta + '%''');qryUsuarios.Open;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q o seu primeiro sinal de % esta no lugar errado, tenta assim para ver se muda alguma coisa:

 

procedure TfrmUsuarios.txtPesquisaOnChange(Sender: TObject);varConsulta: string;beginConsulta:= Decrypta(txtConsulta.Text);qryUsuarios.Close;qryUsuarios.SQL.Clear;qryUsuarios.SQL.Add('Select * from USUARIOS WHERE NOME LIKE ''%' + Consulta + '%''');qryUsuarios.Open;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opah kra,,,, hehe,, akilo ali foi um erro meu de digitacao... mais eu fiz assim:

 

qryUsuarios.SQL.Add('Select * from USUARIOS WHERE NOME LIKE ''%' + Consulta + '%''');

 

o interessante eh o seguinte eu vi no banco cadastrei um usuario como "TESTE"

a Cryptografia dessa palavra naum envolve nenhum caracter como ^$#% por ex....

 

nesse caso ele consulta corretamente....

 

axo q o problema ta como os caracteres especiais...

 

teria alguma ideia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... um tanto complicado apontar onde pode estar o problema, mas tente rodar passo-a-passo ou dar um ShowMessage na variavel Consulta e compare se o valor é idêntico ao cadastrado no BD, e tb não pode ser problema do tipo de o usuário ter sido cadastrado com caixa alta e você estar permitindo consultar em caixa baixa ? Faz um teste com estas situações...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok! vou verificar e t digo no q deu...

 

Mais enquanto issu me tira mais uma duvida faz o favor kra....

 

qdo eu mando a seguinte instrucao:

 

qry.SQL.Add('Select * from TESTE WHERE NOME = ' + '''' + Consulta + '''');

 

pq a variavel Consulta esta entre '''' ,,, naum bastaria informar :

 

qry.SQL.Add('Select * from TESTE WHERE NOME = ' + ' + Consulta + ');

 

Com apenas uma aspa simples ja q a instrucao SQL pede uma aspa simples ou dupla no caso de uma string??

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso se estiver usando Parameters você poderá fazer algo do tipo, só que irá mudar um pouco, mas passando o SQL diretamente vai precisar ser assim mesmo, pois o seu comando SQL precisa de aspas, e para passar a string para dentro da qry tb consome aspas, por isto que precisa passar todas estas aspas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja Marcio:

 

dei um ShowMessage na variavel Consulta q fiko: "EXSE^PX"													   Decryptado:  RODRIGO

qdo eu procuro por "RODR" ele axa certinho

agora qdo eu digito "RODRI" ele ja c borra td... justamente no I q eh igual a ^...

 

teria mais alguma sugestao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode realmente ser alguma coisa nesta sua função de criptografia, pois utilizo da mesma forma que você, criptografo o valor, guardo no BD e depois para consultar, primeiro ele faz a criptografação e consulta... Faz um teste removendo o like e usando o = na instrução SQL, para ver se ele encontra...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim kra... eu ja fiz essa usando = no lugar de like e deu certinho????so q precisava q fosse usando like!Teria alguma modo seu de cryptografia q desse pra mim usar,,, mudando umas coisas????

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.