Stocker des mots de passes dans une DB

Bonjour,

  • Voilà je me pose un certain nombre de questions pour stocker les mots de passes dans une base de données.

  • Faut-il crypter les mots de passes ? (Je pense que “oui” mais “Tout ce qui va sans dire va toujours mieux quand on le dit”).

  • Si oui faut-il le faire via le SGBDR ou via un script ? La base de données en question sert à un site web (ASP.NET)…

Merci

La technique habituelle consiste a stocker les mots de passes sous forme de hash (en general MD5). Le but etant quer personne ne peut relire le mot de passe qui est stocke. Ce qui est bien parceque en general les gens ils utilisent le meme mot de passe partout. On reconnait les sites qui le font par le fait que le hash il est “salé” en utilisant par exemple le nombre de secondes de la date d’inscription ou autre. Comme ca c’est encore mieux et en comparant deux hash tu peux pas savoir si ils representent la meme chose a la base.

Donc MD5(mot de passe + secondes date d’inscription) dans la db et pour comparer tu fais pareil.

Ok, Merci M’sieur GloP !!!

Dis GloP, tu peux expliquer un peu plus ta méthode ? Par exemple en représentant une ligne dans  la base de donnée … et comment tu compares le mot de passe tapé par l’user avec le mot de passe + secondes. Je veux dire, comment tu ressors “le nombre de secondes de la date d’inscription”, tu le stockes à côté ? Ou sous un caillou ?
(ça m’intéresserait de comprendre comment ça marche, par curiosité)

C’est la technique classique du grain de sel utilisée par exemple pour les mots de passe des users sous Linux

Hop, explication simple trouvée ici

[quote]Donc MD5(mot de passe + secondes date d’inscription) dans la db et pour comparer tu fais pareil.[/quote]Il y a une raison particulière pour qu’on sale avec le nombre de seconde ? Parce que si je pouvais saller avec des minutes çà me permettrait d’avoir un type de données ‘smalldatetime’ plutôt que ‘datetime’

Te gêne pas, le gros sel, ça marche aussi…