“Salgando” os hashes.
É recomendável que se adicione algum dado adicional (também chamado de “sal”) antes de calcular o hash de forma a dificultar ataques baseados em dicionário usando algum algoritmo de hash conhecido.
Outra vantagem é que isto impede que duas senhas iguais de pessoas diferentes gerem o mesmo hash, facilitando eventuais ataques.
Veja uma possibilidade: no nosso exemplo de senha de acesso, suponha que calculemos o hash de uma string contendo o nome do usuário, mais a senha, mais “xwy”.
Uma outra possibilidade é adicionar números aleatórios antes do cálculo do hash e armazenar estes números aleatórios na base para que possa ser conferido depois.