Passwort-hashing in eine C# - Windows-app fehlt ASP.NET's FormsAuthentication?
Mein Win form-app scheint nicht, wie FormsAuthentication, ich bin völlig neu für das hashing so dass jede Hilfe zu konvertieren, das wäre sehr willkommen. Danke.
//Write hash
protected TextBox tbPassword;
protected Literal liHashedPassword;
{
string strHashedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(tbPassword.Text, "sha1");
liHashedPassword.Text = "Hashed Password is: " + strHashedPassword;
}
//read hash
string strUserInputtedHashedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile( tbPassword.Text, "sha1");
if(strUserInputtedHashedPassword == GetUsersHashedPasswordUsingUserName(tbUserName.Text))
{
//sign-in successful
}
else
{
//sign-in failed
}
- Ist das Ziel zu haben, eine app, die ermöglicht es Benutzern, geben Sie andere Anmeldedaten als der Benutzer eingeloggt ist? Erhalten Sie die Anmeldeinformationen für den Zugriff auf andere services? Ich bin mir nicht sicher, was Sie zu tun versuchen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
FormsAuthentication ist im System definiert.Web.Security-namespace, die in der System.Web.dll Montage.
Nur weil Sie das schreiben einer WinForm-app nicht zu stoppen Sie von der Verwendung des namespace oder verweisen auf die Montage; Sie sind nur nicht standardmäßig gemacht, wie Sie sein würde für eine WebForms-app.
Wenn Sie das hashing für die Benutzer-Anmeldeinformationen, ich schlage vor, Sie tun mehr als nur hashing, Sie idealerweise wollen Schlüssel dehnen als gut.
Hier ist eine API zu tun, was Sie wollen in einer sicheren Weise:
https://sourceforge.net/projects/pwdtknet/
Ich denke, es sollte funktionieren. Alles, was Sie tun müssen, ist die Referenz-System.Web.Sicherheit in deinem code (und es als Verweis hinzufügen in Visual Studio Projekt).
Wenn Sie tatsächlich "Schiff" bildet diese app, vielleicht das hinzufügen von System.Web.Sicherheit ist nicht so eine gute Idee...
Wenn Sie einen SHA1-hash, es ist sehr einfach zu bedienen .net-Kryptografie-Bibliothek-Beispiele auf der msdn-Website. Der Schlüssel ist, um
Konnte Sie nicht verwenden die BitConverter-Funktion anstelle der "x2" - Schleife?
z.B.
return BitConverter.ToString(hash).Ersetzen("-", "");