Rubrik: Variablen/Strings | VB-Versionen: VB2010 - VB2015 | 17.01.18 |
Zufallstrings, Passwörter mit einer Funktion erstellen Eine einfache Funktion, um Zufallstring z.B. für Passwörter zu erzeugen | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 5.034 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Diese Funktion ist recht einfach. Von einer Enumeration für die Festlegung des String-Typs ausgehend, wird ein Zufallstring in der gewünschten Länge und Art erzeugt.
Die Konstanten können individuell angepasst werden.
Public Enum RandomTextType LowerCaseLetters = 1 UpperCaseLetters = 2 LowerCaseLettersMixedNumbers = 3 UpperCaseLettersMixedNumbers = 4 MixedAll = 5 End Enum
''' <summary> ''' Erzeugen von Zufallsstring ''' </summary> ''' <param name="theLen">die Länge des Strings</param> ''' <param name="art">die Art der Zusammensetzung des Strings</param> Public Function CreateRandomString(theLen As Short, art As RandomTextType) As String Const lowerChars = "abcdefghijklmnopqrstuvwxyzäöüß" Const upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ" Const numericChars = "0123456789" Const specChars = "!§$%&/()=?{[]}+*~#'-_.:,;<>" Dim rs As String = "" Dim ast As String = "", le, ix As Short Dim rnd As New Random() ' Zusammensetzung gemäß vorgegebener Art Select Case art Case RandomTextType.LowerCaseLetters ast = lowerChars Case RandomTextType.UpperCaseLetters ast = upperChars Case RandomTextType.LowerCaseLettersMixedNumbers ast = lowerChars + numericChars Case RandomTextType.UpperCaseLettersMixedNumbers ast = upperChars + numericChars Case RandomTextType.MixedAll ast = lowerChars + upperChars + numericChars + specChars End Select le = ast.Length - 1 For i As Short = 1 To theLen ix = rnd.Next(0, le) rs += ast.Substring(ix, 1) Next ' Rückgabe des Strings Return rs End Function
Aufruf:
' Erzeugt einen 10 Zeichen langen String gemischt aus Kleinbuchstaben und Ziffern. Dim rStr as String = CreateRandomString(10, RandomTextType.LowerCaseLettersMixedNumbers)