Hachage des mots de passe Avec ASP.NET MVC 3

Je suis maintenant dans le processus d'essayer de comprendre la meilleure façon de hachage du mot de passe de mon ASP.NET MVC 3 application. De ce que j'entends, il est bon d'utiliser le mot de passe et un hasard de sel, puis stocker le mot de passe haché et le sel ensemble. Ma question est de ne pas que faire de l'aléatoire de sel inutile? Je veux dire la raison pour hacher un mot de passe est parce que si quelqu'un pénétrer dans votre base de données, ils n'ont pas la plaine des mots de passe et le sel font qu'il est beaucoup beaucoup plus difficile à inverser la valeur de hachage pour obtenir le mot de passe mais si je stocker le hash du mot de passe, ce qui est le point de sel (à ma connaissance sur le hachage est chaque limité, donc je pourrais être complètement hors de la base avec ma façon de penser).

Ma deuxième question est ce que la méthode de hachage est le meilleur à utiliser? J'ai lu que MD5 (qui est ce que j'ai toujours utilisé) est très simple à déchiffrer. J'entends le bcrypt/sha512 sont très bonnes. Que l'on doit utiliser? Je sais que C# est livré par défaut avec le sha512 de hachage. De ce que je peux voir, bcrypt n'est pas inclus dans le .NET de la bibliothèque, il y a toutes les bonnes bibliothèques de C# et de bcrypt?

OriginalL'auteur ryanzec | 2011-06-18