[Sécurité] Dictionnaire MD5 ou SHA1
Imaginons : J'ai une base de données avec l'identifiant et le mot de passe de mes utilisateurs... Etant soucieux de la sécurité, je crypte le mot de passe avec un algorithme de cryptage tel que MD5 ou SHA1...
Cela dit, un gars mal intentionné parvient quand même à deviner les mot de passe des utilisateurs... Comment fais t-il? Il utilise simplement le fait que pour une même chaine de caractère donnée, le hachage résultant sera le même. On peut donc alors établir une sorte de dictionnaire : chaine -> hash...
Afin de complexifier la tâche, on pourrait ajouter au mot de passe une variable aléatoire afin de modifier le hachage. Mais, pour que moi je puisse identifier mon utilisateur, je dois stocker cette variable quelque part afin de retrouver le hachage et, quoi de plus simple de la stocker dans la base de donnée?
Mais si mon gars mal intentionné à accès à ma BD il pourra très vite trouver une concordance...
Donc comment vraiment crypter un mot de passe?