3 votes

Convertir une application asp.net pour utiliser l'authentification des formulaires asp.net - hachage des mots de passe dans SQL Server

Scénario:

  • Une ancienne application ASP.NET 2.0 qui utilise SQL Server 2005.
  • Les mots de passe sont stockés en clair dans la base de données
  • Nous voulons mettre à niveau l'application pour utiliser l'authentification par formulaires
  • Nous devons recréer tous les mots de passe de la même manière que le ferait l'authentification par formulaires

Question:

  • Comment générons-nous des mots de passe hachés (avec des sels) en utilisant T-SQL pour les stocker dans la base de données de manière identique à ceux que générerait l'authentification par formulaires:

Comment pouvons-nous créer ceci:

DHSicgbY+Av0LyQpBZl2M5EuyOk=

qui est un mot de passe haché (plus sel), mais en utilisant T-SQL à la place?

0voto

Mitch Wheat Points 169614

Sous SQL Server 2005, utilisez HASHBYTES() de préférence en utilisant l'algorithme de hachage SHA1. (SQL Server 2012 prend désormais en charge SHA-256 et SHA-512)

Vous pouvez utiliser NEWID() pour générer des GUID aléatoires pour vos sels.

Renvoie le hachage MD2, MD4, MD5, SHA ou SHA1 de son entrée.

Comme l'a souligné @von v. : T-SQL: Mots de passe salés

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X