2009-11-27 13 views
1

Je crée une base de données MySQL avec les utilisateurs enregistrés, et je pense à utiliser md5 non seulement pour les mots de passe mais pour e-mails aussi.md5 pour les emails aussi?

Je pense que ce choix peut améliorer la sécurité des utilisateurs, mais je ne suis pas encore un expert avec des bases de données et je ne suis pas sûr si cela est sage ou non!

J'espère que ce n'est pas une question stupide!

+0

Ceci est un doublon de http://stackoverflow.com/questions/1778897/php-should-i-encrypt-email-addresses/ –

+0

Il n'y a pas de questions stupides, honnêtes et bien composées. Personne ici n'est parfait. – MrChrister

+0

MD5 est déprécié ces jours-ci, ayant été prouvé pour avoir quelques vulnérabilités. Même si ces vulnérabilités n'affectent pas l'utilisation que vous décrivez ici, vous pouvez choisir SHA1 à la place. –

Répondre

12

Voulez-vous pas être en mesure d'obtenir les adresses e-mail de retour plus tard, par exemple pour les envoyer par courriel avec des nouvelles d'une mise à jour? Le hachage est un processus à sens unique. Utiliser un hash pour l'adresse e-mail fonctionnerait en termes de l'utilisateur entrant son adresse e-mail pour obtenir un nouveau mot de passe temporaire, en ce sens que vous auriez l'adresse ici et puis - mais si vous avez besoin de les envoyer plus tard, vous n'auriez plus l'information.

+1

merci, c'est une réponse simple et claire, alors je suis sûr que je vais les besoin sans md5! – vitto

+8

Envoyer d'autres questions directement à M. Skeet à cb788e6a9ff319ac19ede912e882c68e;) – micahwittman

2

Si vous stockez les e-mails comme MD5 digère, vous ne pouvez pas envoyer vos utilisateurs plus ...

2

MD5 est à sens unique - il ne peut pas être vénérée. Pour les mots de passe, c'est souhaitable - personne ne peut comprendre le mot de passe.
des e-mails, pas tant - vous ne serez pas en mesure d'envoyer des e-mails à vos utilisateurs, ne font que confirmer qu'il est le même que précédemment entré.

+1

Je suis sûr que MD5 peut être vénéré, mais pas inversé. :-) – Bevan

0

Vous pouvez utiliser un d'une façon hachage comme MD5 ou SHA-2-signe un message pour le rendre plus difficile à forger ou à modifier, mais il n'y a aucun moyen pratique de convertir le hachage de nouveau dans un message.

1

Vous ne devez pas seulement utiliser MD5 pour vos mots de passe, mais ajouter plusieurs fois la valeur salt et le mot de passe résultant du hachage, puis sauvegarder la chaîne salt et hashed dans la base de données. De cette façon, il sera plus difficile de deviner le mot de passe d'origine - ce n'est pas au sujet de votre sécurité (mots de passe pirate peut BruteForce même façon, mais ce sera un peu plus lent, ce qui est bon ), il est de la sécurité des utilisateurs. Beaucoup d'utilisateurs utilisent le même mot de passe sur plusieurs sites. Plus d'infos dans http://www.codinghorror.com/blog/archives/000953.html

+0

je vous remercie pour le conseil, je vais recueillir des informations sur votre lien – vitto