Geração de senhas aleatórias

A função abaixo utiliza o StringBuilder e a classe Random para fazer a geração de uma senha aleatória com dígitos e letras. O parâmetro de entrada é o tamanho da senha, a saída será a senha formada.

Observe o uso do AndAlso e OrElse.

 

Function GetRandomPassword(ByVal length As Integer) As String

  Static rand As New Random

Dim password As New System.Text.StringBuilder(length)

 

For i As Integer = 1 To length

  Dim charIndex As Integer

  ' allow only digits and letters

  Do

  charIndex = rand.Next(48, 123)

  Loop Until (charIndex >= 48 AndAlso charIndex <= 57) _

    OrElse (charIndex>= 65 AndAlso charIndex <= 90) _

    OrElse (charIndex >= 97 AndAlso charIndex <= 122)

' add the random char to the password being built

  password.Append(Convert.ToChar(charIndex))

Next

  Return password.ToString()

End Function