Posts
247
Comments
67
Trackbacks
4
Generierung eines Passwortes

Fürs Archiv. Eine Klasse für die Generierung eines Passwortes.

Es gibt im .NET-Framwork zwar die Methode System.Web.Security.Membership.GeneratePassword() welche ein Passwort generiert. jedoch entält dieses auch Sonderzeichen wie "^" welche für die Eingabe problematich sind.

// liefert ein 8stelliges Passwort mit einem Sonderzeichen
public class Password
{

public static string generate()
{

string standardChars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ123456789";
string specialChars = "-+@#!?";
int passwordLength = 8;

// 3 Arrays anelegen und mit Zufallszahlen füllen
Random random = new Random();

int[] randomStandard = new int[passwordLength];
int[] randomSpecialField = new int[passwordLength];

for (int i = 0; i < passwordLength; i++)
randomStandard[i] = random.Next(standardChars.Length);

for (int i = 0; i < passwordLength; i++)
randomSpecialField[i] = random.Next(passwordLength);


// Passwort zusammensetzen
char[] password = new char[passwordLength];
int allowedCharCount = standardChars.Length;
int specialCharCount = specialChars.Length;
int specialField = random.Next(passwordLength);

for (int i = 0; i < passwordLength; i++)
{
if (i != specialField)
{
password[i] = standardChars[(int)randomStandard[i] % allowedCharCount];
}
else
{
password[i] = specialChars[(int)randomSpecialField[random.Next(specialChars.Length)] % specialCharCount];

}
}

return new string(password);
}

}

posted on Thursday, February 01, 2007 1:52 PM Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 2 and 6 and type the answer here: