Wie einfach das Salz eines Passwortes in einer C# windows form-Anwendung?
Wie kann ich leicht Salzen ein Passwort aus einem Textfeld.Text?
Gibt es einige Bauten, die in der Zauberei in der .NET framework?
- Sie können einfach mit diesem encrypto.codeplex.com
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatten wir eine große Diskussion vor einer Weile über best practices beim Salzen ein Passwort, die Sie vielleicht finden einige gute Ideen:
Salzen Sie Ihr Passwort: Best Practices?
Habe ich herausgefunden, dass eine der einfachsten, während immer noch ziemlich sichern, ist die Verwendung einer GUID als Ihr Salz. Es ist zufällig, lang genug. Am besten funktioniert es, wenn man auch die string-Formatierung der GUID (die '{' und '-' Zeichen), aber Sie nicht haben, um.
Denken Sie daran, dass das Salz hat sich eindeutig pro Element gesalzen und das werden die meisten sicher sind, sollten Sie die Verwendung eines kryptographisch sicheren Zufallszahlen-generator. Denken Sie auch daran, dass Sie speichern Sie Ihre salt zusammen mit dem Passwort, oder Sie werden nicht in der Lage zu überprüfen, die plaintext-version gegen die Hash-version! Speichern Sie die Salz-un-verschlüsselt, wenn Sie mögen; ich in der Regel legen Sie es in ein Feld auf der gleichen Tabelle wie das Passwort. Der Zweck des Salzes ist nicht versteckt bleiben, es geht um rainbow-Tabellen erschweren (hoffentlich gar nicht), um zu berechnen, in einer fristgerechten Weise.
Hier ein kurzer snippet, das funktioniert in C#:
... oder
Nehme ich an, Sie zu Fragen für einen Benutzername zusammen mit dem Passwort?
In einigen Systemen Benutzername verwendet wird als Salz. (Und ich denke, es ist OK zu tun.)
Andernfalls werden Sie brauchen, um Ihre Salz irgendwo gespeichert und abgerufen, bevor hashing (im Fall des random-erstellt Salz) oder haben einen Algorithmus wird wieder das gleiche Salz für den gleichen Benutzer (und es wird nicht besser, die nur mit einem einfachen Benutzernamen).
Persönlich verwenden Sie den folgenden code:
Hier ein netter Artikel und ein weiteres (das ist mehr angepasst ASP.NET Anwendungen).
Es ist keine Zauberei, ein Salz ist einfach einige zufällige text angehängt, um ein Passwort zu besiegen Wörterbuch-Attacken - stellen Sie sich Ihre eigene jibberish.
Haben Sie einen Blick auf die hmac Funktionen wie hmacdm5, hmacsha1 oder hmacsha256.
Blick auf die System.Sicherheit.Kryptographie namespace, zu.