Feedback

C# - Erzeugen eines zufälligen Strings

Veröffentlicht von am 18.12.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.
GFU-Schulungen  [Anzeige]

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

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 18.12.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 20.12.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 06.02.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 11.06.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 28.07.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!