Something that I found that I frequently come across is the need to generate a random string, so I ended up creating a simple shared function that dealt with that for me.
Imports Microsoft.VisualBasic Public Class PasswordFunctions ''' <summary> ''' This function generates a random password allowing for the specification of the contents ''' </summary> ''' <param name="passwordLength">The number of characters to be in the password</param> ''' <param name="includeUpperCase">Whether to include upper case characters</param> ''' <param name="includeNumbers">Whether to include numbers</param> ''' <param name="includeSymbols">Whether to include symbols</param> ''' <param name="includeSimilarChars">Whether to include characters which are similar</param> ''' <returns>A string with the random password</returns> ''' <remarks>This method was produced by Satal Keto (www.satalketo.com)</remarks> Public Shared Function generatePassword(Optional ByVal passwordLength As Integer = 12, _ Optional ByVal includeUpperCase As Boolean = False, _ Optional ByVal includeNumbers As Boolean = False, _ Optional ByVal includeSymbols As Boolean = False, _ Optional ByVal includeSimilarChars As Boolean = False) As String Dim strRtn As String = "" Dim strAllowedChars As String Dim intCount As Integer Dim rnd As New Random() strAllowedChars = "abcdefghijkmnopqrstuvwxyz" If includeUpperCase Then strAllowedChars &= "ABCDEFGHJKLMNPQRSTUVWXYZ" If includeSimilarChars Then strAllowedChars &= "IO" End If End If If includeNumbers Then strAllowedChars &= "23456789" If includeSimilarChars Then strAllowedChars &= "10" End If End If If includeSymbols Then strAllowedChars &= "|$%^&*()_+~-=#[]{};':@,./<>?" If includeSimilarChars Then strAllowedChars &= "!" End If End If For intCount = 0 To passwordLength strRtn &= strAllowedChars.Substring(rnd.Next(0, strAllowedChars.Length - 1), 1) Next Return strRtn End Function End Class
Generate a password
Pingback:Password generation in C# | Sam Jenkins' Blog