Comment créer un asp.net l'adhésion fournisseur de hachage de mot de passe manuellement?
Je suis en utilisant un site web frontend et tous les utilisateurs sont authentifiés à l'aide de la norme ASP.NET Adhésion-Fournisseur. Les mots de passe sont enregistrés "haché" à l'intérieur d'une Base de données SQL.
Maintenant, je veux écrire un bureau-client avec des fonctions administratives. Entre autres choses, il devrait y avoir une méthode pour réinitialiser un mot de passe des utilisateurs. Je peux accéder à la base de données avec le enregistré l'adhésion de données, mais comment puis-je créer manuellement le mot de passe de sel et de hachage? L'utilisation du Système.Web.L'adhésion de l'espace de Noms semble être inapproprié j'ai donc besoin de savoir comment créer le sel et le hachage du nouveau mot de passe manuellement.
Experts de l'étape! 🙂
Je ne peux pas inclure un fournisseur d'appartenances dans un bureau à la demande du client, à l'aide de ma base de données sql, puis-je? Lorsque c'est possible, vous avez raison et je peux utiliser ces méthodes... mais comment la mettre en œuvre?
OriginalL'auteur Anheledir | 2010-03-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser absolument
System.Web.Security
dans une console ou winforms app.Ici est une simple application console:
Et de l'application.config:
OriginalL'auteur
J'ai utilisé un réflecteur de prendre un coup d'oeil à ces méthodes .NET-Framework utilise interne. Peut-être il y a des méthodes publiques disponibles pour cela, mais je n'ai pas trouver si vous savez comment faire pour interroger ces méthodes internes en tant qu'utilisateur merci de laissé un commentaire! 🙂
Ici est la simplification du code source sans conditions inutiles parce que je ne veux encoder le mot de passe comme un Hachage SHA1:
OriginalL'auteur
Rapide sale méthode
Bien que, l'adhésion à l'espace de noms a des trucs construit dans pour cela ainsi, comme l'a déclaré Oublié le point-Virgule
Je suis en utilisant ce code avec l'asp.net fournisseur d'appartenances sur un site de production (un vieux), vous devez recalculer le hachage et le sel de la clé et de les comparer sur chaque authentification, qui est l'endroit où la sécurité est dérivé. De ne pas être pointilleux, mais votre question n'a demandé comment faire pour calculer le sel et le a la clé manuellement.
OriginalL'auteur
Il a été un certain temps depuis que j'ai bricolé avec ASP.Net l'adhésion, mais n'oubliez pas de traiter avec quelque chose d'un peu liée à elle (ce qui est nécessaire pour personnaliser les choses grâce à une base de données d'utilisateurs). Dans cet effort, j'ai remplacé les méthodes (l'utilisateur existant db avait md5 haché mdp).
Donc dans la même "ligne de pensée":
Exposer les Membres de l'API par l'intermédiaire d'un service web que votre application de bureau peut faire référence. De cette façon, vous n'êtes pas "re-création" des choses, vous êtes à la réutilisation. Vous n'avez pas à remplacer quoi que ce soit, vous êtes juste d'exposer les méthodes existantes via un service web pour votre application de bureau.
Va sans dire que vous auriez à sécuriser ce point de terminaison....
Si ce qui précède est trop imprécis pour votre goût, voici un lien vers le asp.net forums concernant certaines tentatives pour recréer le hachage....Je ne peux pas confirmer l'exactitude, mais il devrait être facile à tester:
http://forums.asp.net/p/1336657/2899172.aspx
OriginalL'auteur