Array
(
)

campo senha criptografada

Luiz Souza
   - 13 set 2012

Tenho uma aplicacao em delphi prism onde tenho uma tela de cadastro e manutencao de usuario.
estou gravando a senha com a AES_ENCRYPT, gravando normal. quando tento recuperar com o codigo abaixo vem em no textBox SYSTEM.BYTE[]
O banco é mysql.
Como resolver?
var con := new MySqlConnection(Constr);
var SQL := "select usu_id,usu_nome, AES_DECRYPT(USU_SENHA,'hpi') as usu_senha, usu_tipo_sec from usuario
where USU_ID = @USU_ID AND USU_NOME = @USU_NOME ";
var cmd := new MySqlCommand(SQL,con);
cmd.Parameters.AddWithValue('@USU_ID',USU_ID);
cmd.Parameters.AddWithValue('@USU_NOME',USU_NOME);
var objs := new List<Usuario>();
con.Open();
try
var dr := cmd.ExecuteReader();
while dr.Read() do
begin
var obj := new Usuario(
USU_ID := dr["USU_ID"].ToString(),
USU_NOME := dr["USU_NOME"].ToString(),
USU_SENHA := dr["USU_SENHA"].ToString(),
USU_TIPO_SEC := dr["USU_TIPO_SEC"].ToString()
);
objs.add(obj);
end;
dr.Close();
finally
con.Close();
end;
Result := objs;

Joel Rodrigues
   - 13 set 2012

Como não uso o MySql, vale a pergunta: já tentou fazer essa consulta direto no banco e verificar o valor retornado pelo AES_DECRYPT?

0
|
0

Luiz Souza
   - 14 set 2012


Citação:
Como não uso o MySql, vale a pergunta: já tentou fazer essa consulta direto no banco e verificar o valor retornado pelo AES_DECRYPT?


Joao...
A primeira coisa que fiz foi direto no banco fazer o mesmo select com descrypt (conforme está no codigo), e aparece a senha normalmente com todas as letras e numeros que cadastrei. so que na milha DAL quando jogo para o objeto, no textBox aparece system.byte[].

So quero saber como fazer para pegar a senha deste select e jogar no textbox corretamente, já que está aparecendo system.byte[].

0
|
0

Joel Rodrigues
   - 14 set 2012

Como te falei, não uso MySql aqui, mas tenho uma sugestão. Experimente converter o AES_DECRYPT para VARCHAR na consulta.
#Código

CAST(AES_DECRYPT(USU_SENHA, 'hpi') AS VACHAR)

0
|
0

Luiz Souza
   - 14 set 2012


Citação:
Como te falei, não uso MySql aqui, mas tenho uma sugestão. Experimente converter o AES_DECRYPT para VARCHAR na consulta.
#Código

CAST(AES_DECRYPT(USU_SENHA, 'hpi') AS VACHAR)

vACHAR NÃO FUNCIONOU MAIS SIM CHAR.

MUITO OBRIGADO PELA AJUDA

0
|
0

Joel Rodrigues
   - 14 set 2012

Opa, era VARCHAR (com R), falha de digitação.
Mas que bom que funcionou.
Boa sorte em seus projetos.
Estou encerrando o tópico.

0
|
0