Feedback

C# - Passwort generieren

Veröffentlicht von am 10.07.2006
(3 Bewertungen)
Generiert ein Passwort aus den im String "Content" enthaltenen Buchstaben.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

private string PW(int Länge)
{  
  string ret = string.Empty;
  System.Text.StringBuilder SB = new System.Text.StringBuilder();
  string Content = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw!öäüÖÄÜß\"§$%&/()=?*#-";
  Random rnd = new Random();      
  for( int i = 0; i < Länge; i++)
    SB.Append(Content[rnd.Next(Content.Length)]);
  return SB.ToString();
}
Abgelegt unter Passwort, generieren.

4 Kommentare zum Snippet

Andre schrieb am 17.07.2009:
Hallo,

kann es sein, dass es in der Zeile 8 ...(Content.Length - 1)... heißen muss?

Gruß André
Nico schrieb am 26.07.2009:
Nein, der Paramenter ist die exklusive Obergrenze, da braucht man kein -1 :)

Lg, Nico
biacchh8 schrieb am 29.09.2013:
Man muss Random wiederverwenden, sonst werden keine vernünftigen Zufallszahlen erstellt. Das merkt man, wenn man eine Methode die Random selbst erzeugt in einer Schleife sehr oft hintereinander aufruft.

daher:
private Random mRandom = new Random();

Zitat aus MSDN:
Die Erzeugung der Zufallszahlen startet von einem Startwert. Wenn derselbe Startwert wiederholt verwendet wird, führt dies dazu, dass dieselbe Zahlenfolge erzeugt wird. Eine Möglichkeit, die Erzeugung unterschiedlicher Zahlenfolgen zu gewährleisten, besteht darin, den Startwert zeitabhängig zu machen. Dabei wird für jede neue Instanz von Random eine neue Zahlenfolge erzeugt. Standardmäßig verwendet der parameterlose Konstruktor der Random-Klasse die Systemuhr zum Generieren des Startwerts, während der parametrisierte Konstruktor einen Int32-Wert auf Grundlage der Anzahl von Ticks in der aktuellen Zeit annehmen kann. Da die Uhr jedoch eine endliche Auflösung hat, werden durch das Erstellen von unterschiedlichen Random-Objekten mit dem parameterlosen Konstruktor unmittelbar nacheinander Zufallszahlengeneratoren erstellt, die identische Sequenzen von Zufallszahlen erzeugen.

http://msdn.microsoft.com/de-de/library/vstudio/system.random.aspx
Martin Dauskardt schrieb am 15.11.2013:
delete this:

string ret = string.Empty;
 

Logge dich ein, um hier zu kommentieren!