Skip to main content

Password Generator in VB.NET

In this article, we will create a program that can generate a random password when we pressed the button.

Now, let's start this tutorial!

1. Let's start with creating a Windows Form Application for this tutorial by following the following steps in Microsoft Visual Studio: Go to File, click New Project, and choose Windows Application.

2. Next, add only one Button named Button1 and labeled it as "Generate Password". Add also TextBox named TextBox1 for displaying the generated password. You must design your interface like this:


3. Declare these Global Variables:

  1. Dim pNum As New Random(100)
  2. Dim pLowerCase As New Random(500)
  3. Dim pUpperCase As New Random(50)
  4. Dim password As String
  5. Dim RandomSelect As New Random(50)

Variable pNum is used for number/numeric content of the password.
Variable pLowerCase is used for LowerCase character content of the password.
Variable pUpperCaseis used for UpperCase character content of the password.
Variable passwordis used for resetting the new password.
Variable RandomSelecis used for random selection of the password.

4. Create a Function named getPassword as String with parameters of passLength as Integer and Reset as Boolean.

  1. Public Function getPassword(ByVal passLength As Integer, Optional ByVal Reset As Boolean = False) As String
  2. Dim i As Integer
  3. Dim ctr(2) As Integer
  4. Dim charSelect(2) As String
  5. Dim iSel As Integer

clear old passwords:
  1. If Reset = True Then
  2. password = ""
  3. End If

create random numbers that will represent each upercase,lowercase,numbers:
  1. For i = 1 To passLength
  3. ctr(0) = pNum.Next(48, 57) 'Numbers 1 to 9
  4. ctr(1) = pLowerCase.Next(65, 90) ' Lowercase Characters
  5. ctr(2) = pUpperCase.Next(97, 122) ' Uppercase Characters
  6. 'put characters in strings
  7. charSelect(0) = System.Convert.ToChar(ctr(0)).ToString
  8. charSelect(1) = System.Convert.ToChar(ctr(1)).ToString
  9. charSelect(2) = System.Convert.ToChar(ctr(2)).ToString

pick one of the three above for a character At Random:
  1. iSel = RandomSelect.Next(0, 3)
  2. 'colect all characters generated through the loop
  3. password &= charSelect(iSel)

reset with new password:
  1. If Reset = True Then
  2. password.Replace(password, charSelect(iSel))
  3. End If
  5. Next
  6. Return password
  8. End Function

5. Insert this code in your Button1_Click so that the function two generate password will be used in the textbox.

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2. TextBox1.Text = getPassword(8, True)
  3. End Sub

We used the getPassword function to display the 8 digit random characters in the textbox and when we press again the button it will reset the password and generate again as we declare that the Reset variable is set to True.




Download the source code below and try it! :)

For more inquiries just contact my number or e-mail below.

Best Regards,

Engr. Lyndon R. Bermoy
IT Instructor/System Developer/Android Developer
Mobile: 09488225971
Telephone: 826-9296
E-mail:[email protected]

Follow and add me in my Facebook Account:

Visit my page on Facebook at:

Visit my website at:

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.