Encriptando senhas no MySQL

Uma maneira simples e rápida de codificar dados no MySQL é usando a função ENCODE(). Esta função é baseada em um algoritmo de 256 bits baseado em uma senha definida pelo programador. Esta função é excelente para criptografar dados pequenos como senhas, números de cartões de crédito

Exemplo de codificação

Supondo que a senha escolhida para executar a criptografia seja “sistema”, então podemos usar da seguinte forma:

INSERT INTO `tb001_usuarios` (`usuario_rg`, `usuario_nome_completo`, `usuario_login`, `usuario_senha`)
VALUES ('1147841', 'Teste dos Santos O retorno', 'testovaldo2', ENCODE('12345789','sistema'));

 

Exemplo de decodificação

Você deve conhecer a senha usada na codificação para poder ler o dado encriptado

Select *, DECODE(usuario_senha, 'sistema') as senha_descriptografada from tb001_usuarios;

Dicas de segurança

  1. Banco de dados que possuem informações sensíveis, é comum o uso criptografado de dados, porém, sem exageros pois criptografia exige processamento e quanto mais dados a serem criptografados menor a performance do banco.
  2. Grandes sistemas de e-commerce costumam criptografar dados importantes dos clientes para evitarem vazamentos dos dados, como CPF, telefone, e-mail e cartão de crédito. Para garantir que nenhum hacker descubra a senha de decodificação,  a aplicação gera senhas diferentes para cada novo registro gravado no banco, obviamente, deve-se ter o algoritmo para geração de senha e ele deve ser muito bem documentado.