Generate A Random Password

Have you ever need to generate a random password but were unsure of what type
of logic to use to ensure it was truely random. Your problems are now
solved. Use the two functions below. Simply Make a Call To CreateAPw and
Pass in the Number of characters that your Password should be. It will return
a string of that many characters.
Function CreateAPw(iNumChars as integer) As String

dim x as integer
dim newPw as string
dim pwChar as string


'Generate a 6 Character Password
pwChar = ""
newPw = ""
For x = 1 To iNumChars
pwChar = GetAChar()
newPw = newPw & pwChar

CreateAPw = newPw

End Function

Function GetAChar As String

Dim num As Single
dim done as Variant

done = False

Do Until Done
num = Rnd 'Generate a number between 0 and 1
num = num * (10 ^2) 'Make the number 2 digits
If (Round(num, 0) >=10 And Round(num, 0) <= 12) Then 'If the number is
between 10 and 12 then make it three digits. We want to capture the characters
between 100 and 122
num = num * 10 'Make the number three digits
End If
num = Round(num, 0) 'Make the number a whole number
If (num >= 65 And num <=90) Or (num >= 97 And num <= 122) Then 'Ensure that
it is a alpha character
GetAChar = Chr$(num) '
done = True
End If
End Function

This was first published in November 2000

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.