Dicas e Tutoriais - MySQL

Criptografando dados no MySQL


Agora vou falar um pouco sobre como criptografar dados usando o MySQL. Essa técnica é utilizada para armazenar dados de login, aliás, muitos pensam que somente o campo senha deve ser criptografado, mas já vi sistemas em que o nível de segurança era tão alto que até o nome do usuário era criptografado, para que ninguém sequer tivesse acesso a eles.
Enfim, segurança de dados é algo muito sério e você deve tomar todos os cuidados para garantir que as informações dos usuários do seu sistema estejam bem protegidas.
Vou criar uma base de dados chamada TesteCriptografia e uma tabela para armazenar nome de usuário e senha.



Em seguida vou alterar a forma como o MySQL vai receber e armazenar os caracteres e suas codificações na coluna senha. Irei definir o conjunto de caracteres para latin1 e sua codificação para latin1_general_ci, conforme figura abaixo:



O comando acima definiu, para a coluna senha, o conjunto padrão de caracteres como sendo do grupo latin1 e a codificação como latin1_general_ci. Isso é necessário para que esse campo aceite os dados criptografados que vamos inserir. Se não fizer isso e sua tabela estiver utilizando como codificação padrão qualquer uma das que não dão suporte a esses caracteres, você receberá o famoso erro 1366: “InvalidStringValue”.
Bem, agora que nossa tabela está pronta para receber os dados, vamos entender como criptografa-los e enviar para o banco.
Eu darei um exemplo utilizando o algoritmo AES, disponível no MySQL a partir da versão 4.0.2, e que é extremamente seguro, pois utiliza uma chave de criptografia de 128 bits.
Sua sintaxe é bastante simples. Para criptografar, usa-se:

AES_ENCRYPT(string_a_ser_criptografada, chave_usada_para_criptografar)

E para decriptografar:

AES_DECRYPT(nome_do_campo_da_tabela, chave_usada_para_criptografar)

Parece complicado, mas é bastante simples. Vamos a um exemplo. Vou inserir, na tabela que criei, um usuário chamado Daniel, com senha saocarlos e a chave para o algoritmo utilizar nessa criptografia será microsoft. Vejamos como ficará nosso comando MySQL:

insert into usuario values (“daniel”, AES_ENCRYPT(“saocarlos”, “microsoft”));

Ilustrando o código com comentários, teremos:



E então, se tentarmos ver o conteúdo do campo senha dando um simples SELECT, receberemos isso como retorno:



O campo "senha" exibirá essa informação de maneira ilegível, que é o resultado da criptografia da palavra “saocarlos” utilizando o algoritmo AES com chave “microsoft”.
Para decriptografar o campo, uma das opções é:

SELECT nome, AES_DECRYPT(senha, “microsoft”) FROM usuário;



Vou fazer uma demonstração errando a chave de criptografia. Vou executar o seguinte comando:

SELECT nome, AES_DECRYPT(senha, “apple”) FROM usuario;



O MySQL nos retornou o valor null, pois não foi possível decriptografar com essa chave.

Para tornar sua aplicação ainda mais segura, recomendo que você crie, no momento da conexão com o banco, uma variável que armazene sua chave, então não será preciso ficar inserindo-a no comando SQL a todo o momento. Por exemplo:

SELECT @chave:="microsoft";

Com isso criamos uma variável chamada chave, e armazenamos nela a string “microsoft”. Agora, nas chamadas para consulta ou gravação de valores criptografados podemos fazer da seguinte forma:

SELECT nome, AES_DECRYPT(senha, @chave) FROM usuario;



Percebam que a consulta funcionou, pois o banco nos retornou a senha decriptografada, mas no comando utilizamos a variável chave no lugar da palavra “microsoft”, que é o valor da chave. Isso torna o processo ainda mais seguro.



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

Você sabia?
Você Sabia?

Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.

Você Sabia?

Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.

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

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

Os Estados Unidos aprovaram o primeiro tratamento que reestrutura o sistema imunológico do paciente para atacar o câncer. A agência reguladora de medicamentos do país - a FDA - diz que a decisão foi um momento "histórico" e que a medicina agora "entra em uma nova fronteira". A companhia Novar...

Ler Notícia Completa

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Um grupo formado por pesquisadores do Instituto Nacional de Saúde (NIH), dos Estados Unidos, e da empresa farmacêutica Sanofi criaram em laboratório anticorpos superdesenvolvidos capazes de atacar 99% das cepas de HIV. O feito é ainda mais significativo por ser capaz até mesmo de prevenir a infec...

Ler Notícia Completa

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Anunciada em agosto, a plataforma original de vídeos do Facebook, Watch, parece ser a grande aposta de Mark Zuckerberg para o ano que vem. De acordo com o TechCrunch, a empresa deve investir US$ 1 bilhão para criar e incentivar iniciativas voltadas para a produção de conteúdo audiovisual exclu...

Ler Notícia Completa

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

O software se chama Voco, foi desenvolvido pela Adobe (a mesma criadora do Photoshop) e permite manipular gravações de voz com uma precisão inédita, inclusive criando frases que a pessoa não disse. Na demonstração do app, um técnico forjou uma gravação em que um homem dizia “eu beijei a Jordan...

Ler Notícia Completa

Games nos Jogos Olímpicos de 2024. Será?

Games nos Jogos Olímpicos de 2024. Será?

Sabe aquela discussão sobre os jogos eletrônicos poderem ou não ser considerados esportes? Pois o comitê responsável pela realização dos Jogos Olímpicos de 2024 acaba de colocar mais um pouco de lenha nesta fogueira. Isso aconteceu através da divulgação de que eles gostariam de incorporar torne...

Ler Notícia Completa

Algoritmo de Inteligência artificial sabe quando você está sonhando

Algoritmo de Inteligência artificial sabe quando você está sonhando

Pesquisadores da Divisão de Medicina do Sono do Hospital Geral de Massachusetts desenvolveram um algoritmo capaz de identificar quando uma pessoa está sonhando. A tecnologia usa sinais de rádio frequência, através de um dispositivo semelhante a um roteador Wi-Fi, para monitorar a pessoa durante...

Ler Notícia Completa

Equipamentos hospitalares podem ser facilmente hackeados, afirma o governo dos EUA

Equipamentos hospitalares podem ser facilmente hackeados, afirma o governo dos EUA

A equipe de emergências digitais de sistemas de controle industrial dos EUA (ICS-CERT) emitiu ontem um alerta chamando atenção para falhas de segurança em alguns equipamentos hospitalares. As brechas são bastante graves, tanto que, segundo o comunicado, "um atacante com pouca habilidade poderia...

Ler Notícia Completa