vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings   |   VB-Versionen: VB2010 - VB201517.01.18
Zufallstrings, Passwörter mit einer Funktion erstellen

Eine einfache Funktion, um Zufallstring z.B. für Passwörter zu erzeugen

Autor:   Dietrich HerrmannBewertung:  Views:  5.034 
ohne HomepageSystem:  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)



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.