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
- 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.
- 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.