Ich habe die üblichen Google-Suchanfragen durchgeführt und ich glaube, ich habe Recht damit, dass es in .NET Framework keinen zufälligen Passwortgenerator gibt. Die Absicht ist, Passwörter in AD für vergessliche Benutzer zurückzusetzen.
Dies wird in der nächsten Stufe des Penetrationstests sicherlich ein Problem sein. Ich möchte die Antwort vermeiden "Oh ja, ich habe gerade mein eigenes Generator-Ding hochgebracht".
Was sind die Empfehlungen? Sicher kann ich mich nicht auf die .NET Random-Klasse und ein Array von Zeichen verlassen.
Prost.
Sie sollten sich nicht auf die Random
RNGCryptoServiceProvider
verwenden. um die Zufallsdaten zu generieren, die für die Erstellung neuer Passwörter benötigt werden.
Außerdem ist eine Methode in der BCL, um zufällige Passwörter zu erzeugen, aber sie ist in der Assembly System.Web
versteckt. Die statische Methode Membership.GeneratePassword
kann Kennwörter der angegebenen Länge generieren durch den Anrufer.
Die GeneratePassword-Methode wird zum Generieren eines zufälligen Kennworts verwendet und wird am häufigsten von der von einem Mitgliedschaftsanbieter implementierten ResetPassword-Methode verwendet, um das Kennwort für einen Benutzer auf ein neues, temporäres Kennwort zurückzusetzen.
Das generierte Passwort enthält nur alphanumerische Zeichen und die folgenden Interpunktionszeichen:! @ # $% ^ & amp; * () _- + = [{]};: & lt; & gt; | ./ ?. Im generierten Passwort sind keine versteckten oder nicht druckbaren Steuerzeichen enthalten.
Die Dokumentation scheint keine Informationen darüber zu enthalten, wie wie das Passwort erstellt wird, sondern Quellcode ist verfügbar , damit Sie einen Blick darauf werfen können.
Wenn Sie echte Zufälligkeit wünschen, sollten Sie den RNGCryptoServiceProvider verwenden Klasse statt Random für solche Aufgaben. Hier ist ein Beispiel für zum Erstellen eines zufälligen Kennworts in .NET .
Hier ist eine Funktion zum Generieren von einfach zu merkenden Passwörtern. Kann zum Zurücksetzen des Kennworts oder zum Erstellen von anfänglichen Kennwörtern nützlich sein, anstatt den Benutzer zur Eingabe während der Registrierung aufzufordern.
%Vor%Das ergibt Passwörter wie diese:
%Vor%P.S. Das sind wahrscheinlich nicht die sichersten Passwörter auf der Welt, aber ich BETE, diese sind viel stärker als der Durchschnitt dessen, was Leute im Internet benutzen.