Feedback

C# - Erzeugen eines zufälligen Strings

Veröffentlicht von am 12/18/2006
(3 Bewertungen)
Diese Funktion liefert einen zufälligen String zurück. Diese String kann zum Beispiel für Passwörter oder auch zum Erzeugen von Datein verwendet werden.
private string RandomString(Int64 Length)
{
    System.Random rnd = new System.Random();
    StringBuilder Temp = new StringBuilder();
    for (Int64 i = 0; i < Length; i++)
    {
        Temp.Append(Convert.ToChar(((byte)rnd.Next(254))).ToString());
    }
    return TempToString();
}
Abgelegt unter String, Random, Zufall, Passwort, Datei.

5 Kommentare zum Snippet

herbivore schrieb am 12/18/2006:
Warum nicht Next(256)?
Außerdem könnetest du dann gleich Random.NextBytes nehmen?
Andererseits hat man bei dem Grundansatz sowieso potentiell eine Menge Steuerzeichen in dem String. Das wird oft nicht gewünscht sein. Wäre nicht schlecht, wenn man auf irgendeine Weise angeben könnte, welche Zeichen verwendet werden sollen.
Außerdem sind Strings in C# 16-bit-Unicode. Also würde auch problemlos Convert.ToChar(rnd.Next(65536)) funktionieren.
Linoge schrieb am 12/20/2006:
Hi Herbivore,
die 254 ist einfach nur ein Beispiel und um bestimmt Zeichen zuverwenden könnte man auch rnd.Next(65,130) verwenden.
Gruß
Linoge
Jan Welker schrieb am 2/6/2007:
Hallo Herbivore,
dieser Snippet kommt deinen Wünschen schon sehr nah:
http://dotnet-snippets.de/dns/passwort-generieren-SID147.aspx
Jan
kingaaron99 schrieb am 6/11/2016:
Es sollte
return Temp.ToString();
sein und nicht
return TempToString();
hast wahrscheinlich nur den Punkt vergessen. Lieber mal drauf aufmerksam machen, auch wenn der Snippet ca. 9 1/2 Jahre alt ist...
Aaron
Heinz_28 schrieb am 7/28/2016:
@herbivore
Du kannst es sogar noch weiter treiben - mit UTF-16 können schließlich alle 1.112.064 Unicodezeichen kodiert werden, also dann Zeichen mit:
Convert.ToChar(rnd.Next(1112064))
erstellen.
 

Logge dich ein, um hier zu kommentieren!