Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Segurança básica, PHP mySQl


Algumas coisas aqui:

  1. Você não está realmente criptografando, você está fazendo hash. Coisa fácil para os novatos confundirem, mas só queria tirar isso do caminho.

  2. Não use MD5, apenas não é um hash muito seguro. Use uma das variantes SHA, se possível.

  3. Não apenas hash a senha, você também vai querer "saltá-la". Basicamente, isso envolve adicionar uma string aleatória à senha antes de fazer o hash e armazenar essa string aleatória em algum lugar onde você possa recuperá-la mais tarde (para que você possa validar o hash quando o usuário inserir sua senha). Isso ajuda a evitar ataques de dicionário pré-computados.

Quanto à geração da senha, acho que você está no caminho certo - eu apenas a geraria quando eles criassem sua conta, enviaria por e-mail para eles, depois faria o hash e armazenaria o hash (e um sal aleatório) no registro do usuário no arquivo DB.