Dicas e Tutoriais - MySQL

Lendo dados criptografados no MySQL


Agora vou falar sobre um problema comum, que é quando tentamos ler, no ASP.Net, um campo criptografado com a função AES_ENCRYPT do MySQL.
Como essa função transforma a string enviada em um dado binário, a leitura dos dados pode retornar algo ilegível ou apenas identificado como um vetor de bytes. Portanto, se o retorno do seu DataReader ou seu DataSet é System.Byte[], saiba que o motivo é esse, mas a solução é simples.
Vejam esse trecho de código:


String strComando = "SELECT AES_DECRYPT(senha, '" + chave + "') as senha FROM clientes
WHERE email like '" + strEmailUsuario + "'";

MySqlConnectionminhaConexao = new MySqlConnection(strStringConexao);
MySqlCommandmeuComando = new MySqlCommand(strComando, minhaConexao);
minhaConexao.Open();
MySqlDataReaderdr;

dr = meuComando.ExecuteReader();
String strSenha;

try
{
while (dr.Read())
{
strSenha = dr.GetString("senha");
}
}
finally
{
minhaConexao.Close();
}


O método GetString consegue identificar e retornar o conteúdo correto, ou seja, a string contida no campo criptografado.
Claro que para isso o comando AES_DECRYPT precisa ter a sintaxe correta e a chave de criptografia precisa ser a mesma usada no momento de gravação do dado no banco. Caso não tenha ficado claro, crie algo como:

DataSetds = newDataSet();
strSenha= ds.Tables[0].Rows[0]["senha"].ToString();

Você verá que o retorno não será a String, mas apenas System.Byte[].
Ou seja, se vai ler algo gravado num campo criptografado, use o bom e velho GetString().



Gostou desta dica? Compartilhe-a em suas redes sociais!

Você sabia?
Você Sabia?

O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.

Você Sabia?

O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.

Algumas notícias

O que acontece com o cérebro no exato momento em que morremos

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

Ler Notícia Completa

Formato JPEG está com os dias contados

Formato JPEG está com os dias contados

Há quantos anos você ouve falar em arquivos JPG? O formato já era utilizado nos primórdios da web comercial nos anos 1990, vivendo há mais de 20 anos como o principal método de compressão de imagens do público. No que depender de Google, Mozilla e outras empresas, isso pode mudar dentro de algum...

Ler Notícia Completa