Re: Password Generator class
Your code is stuck in VB6! Here's a translation to VB.NET:
Code:
Imports System.Text
Public Class cPwsGen
'Private variables.
Private pLen As Integer = 0
Private pPasswordType As TGenPass
'Private password sources
Private Const Alpha As String = "abcdefghijklmnopqrstuvwxyz"
Private Const Digits As String = "0123456789"
Private Const Hexdecimal As String = "abcdef"
Private Const SpecialChars As String = "!@#$%^&*()<>=/\+-*"
Public Enum TGenPass
Alpha
AlphaDigit
Digits
Hexdecimal
SpecialChar
SpecialAlpha
SpecialDigit
End Enum
Private Function GetPassword(ByVal Length As Integer, Optional ByVal GenType As TGenPass = TGenPass.Alpha) As String
Dim r As New Random()
Dim sb As New StringBuilder()
Dim CharStream As String
'Password types
Select Case GenType
Case TGenPass.Alpha
CharStream = Alpha
Case TGenPass.Digits
CharStream = Digits
Case TGenPass.Hexdecimal
CharStream = Hexdecimal & Digits
Case TGenPass.AlphaDigit
CharStream = Digits & Alpha
Case TGenPass.SpecialChar
CharStream = SpecialChars
Case TGenPass.SpecialAlpha
CharStream = Alpha & SpecialChars
Case TGenPass.SpecialDigit
CharStream = Digits & SpecialChars
Case Else
Throw New ArgumentException("Invalid generation type!")
End Select
For x As Integer = 1 To Length
'Add a random character to the password:
sb.Append(CharStream(r.Next(0, CharStream.Length)))
Next
Return sb.ToString()
End Function
Public Property PasswordType As TGenPass
Get
'Return password type.
Return pPasswordType
End Get
Set(ByVal value As TGenPass)
'Set password type.
pPasswordType = value
End Set
End Property
Public Property PasswordLength As Integer
Get
'Return password length.
Return pLen
End Get
Set(ByVal value As Integer)
'Set password length.
pLen = value
End Set
End Property
Public ReadOnly Property Password As String
Get
'Return generated password.
Return GetPassword(PasswordLength, PasswordType)
End Get
End Property
End Class
Re: Password Generator class
Thanks for the convert I am still new at VB.NET So any fixes help thanks.