Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.27 KB | None | 0 0
  1. Imports System.Threading
  2. Module Module1
  3. Dim pass As String
  4. Dim newPass As String
  5. Dim numbers As Integer
  6. Dim charFromPass As String
  7. Dim charFromPass2 As String
  8. Dim charFromPass3 As String
  9. Dim length As Integer
  10. Dim MinLength As Integer = 8
  11. Dim Valid As Integer
  12. Dim CapCount As Integer
  13. Dim LowCount As Integer
  14. Dim Users As Integer
  15. Dim UI As Char
  16. Dim Counter As Integer
  17.  
  18. Sub Main()
  19.  
  20. Console.WriteLine(" - Username and Password Storage Program - ")
  21. Console.WriteLine()
  22. Console.WriteLine(" # How many users would you like to store?")
  23.  
  24. Do
  25. Console.Write(" # Users: ")
  26. Try
  27. Users = Console.ReadLine()
  28. Catch ex As Exception
  29. Console.WriteLine("Invalid Input. Please input a positive integer.")
  30. End Try
  31. Loop Until Users > 0
  32.  
  33. Call UserName()
  34. End Sub
  35.  
  36. Dim FName(Users) As String
  37. Dim SName(Users) As String
  38. Dim PassW(Users) As String
  39.  
  40. Sub UserName()
  41.  
  42. For index = 0 To Users - 1
  43. Console.Clear()
  44. Console.WriteLine(" # Username Input")
  45. Console.WriteLine()
  46.  
  47. Console.WriteLine("Please enter the first name for user " & index & ".")
  48. Console.Write("Input: ")
  49. Dim Fname(index) As String
  50. FName(index) = Console.ReadLine()
  51.  
  52. Console.WriteLine("Please enter the surname for user " & index & ".")
  53. Console.Write("Input: ")
  54. Dim Sname(index) As String
  55. SName(index) = Console.ReadLine()
  56.  
  57. Next
  58.  
  59. Call PasswordCheck()
  60. End Sub
  61.  
  62. Sub PasswordCheck()
  63.  
  64. Console.Clear()
  65.  
  66. For index = 0 To Users - 1
  67.  
  68. Console.WriteLine("Password Program")
  69. Console.WriteLine()
  70.  
  71. Do
  72. Console.Write("Please Enter a New Password:> ")
  73.  
  74. Dim PassW(index) As String
  75. PassW(index) = Console.ReadLine
  76.  
  77. Console.WriteLine()
  78. Console.Write("Please Re-Enter Password:> ")
  79.  
  80. newPass = Console.ReadLine
  81.  
  82. If newPass = PassW(index) Then
  83.  
  84. Console.Clear()
  85.  
  86. Console.WriteLine("Thankyou - your password will now be sent for checking - please wait....")
  87. Console.WriteLine()
  88.  
  89. For index2 = 1 To 12
  90. Console.Write(".")
  91. Thread.Sleep(200)
  92.  
  93. Next
  94.  
  95. Console.Write(" OK")
  96. Thread.Sleep(200)
  97. Console.WriteLine()
  98. Console.WriteLine()
  99.  
  100. Else
  101.  
  102. Console.WriteLine("Passwords do not match - Please Re-Enter")
  103.  
  104. End If
  105.  
  106. ' The benefit of using a named constant is that a user is able to modify the variable in one change much easier than searching the code for individual values.
  107.  
  108. If PassW(index).Length >= MinLength Then
  109. Valid = 1
  110. Else
  111. Console.WriteLine("Password must be at least 8 characters long")
  112. End If
  113. Loop Until Valid = 1
  114.  
  115.  
  116. length = newPass.Length
  117.  
  118. For position = 1 To length
  119. charFromPass = Mid(newPass, position, 1)
  120. If InStr("0123456789", charFromPass) > 1 Then
  121. numbers = numbers + 1
  122. End If
  123. Next
  124.  
  125. For position = 1 To length
  126. charFromPass2 = Mid(newPass, position, 1)
  127. If InStr("QWERTYUIOPASDFGHJKLZXCVBNM", charFromPass2) > 1 Then
  128. CapCount = CapCount + 1
  129. End If
  130. Next
  131.  
  132. For position = 1 To length
  133. charFromPass3 = Mid(newPass, position, 1)
  134. If InStr("qwertyuiopasdfghjklzxcvbnm", charFromPass3) > 1 Then
  135. LowCount = LowCount + 1
  136. End If
  137. Next
  138.  
  139. If numbers = 1 Then
  140. Console.WriteLine("Contains a number")
  141. Else
  142. Console.WriteLine("Containts at least two numbers")
  143. End If
  144.  
  145. If LowCount > 0 And CapCount > 0 And numbers >= 2 Then
  146. Console.WriteLine("STRONG PASSWORD")
  147. ElseIf LowCount > 0 And CapCount > 0 And numbers = 0 Then
  148. Console.WriteLine("MEDIUM PASSWORD")
  149. ElseIf LowCount > 0 And numbers > 0 And CapCount = 0 Then
  150. Console.WriteLine("MEDIUM PASSWORD")
  151. ElseIf numbers > 0 And CapCount > 0 And LowCount = 0 Then
  152. Console.WriteLine("MEDIUM PASSWORD")
  153. ElseIf numbers = 0 And LowCount = 0 And CapCount = 0 Then
  154. Console.WriteLine("WEAK PASSWORD")
  155.  
  156. End If
  157.  
  158. Next
  159.  
  160. Console.WriteLine("Would you like to display all users and relevant information? (Y/N)")
  161. Console.WriteLine("(N will exit the program.)")
  162. Console.Write("Input: ")
  163.  
  164. Do
  165.  
  166. Try
  167. UI = Console.ReadLine()
  168. Catch ex As Exception
  169. Console.WriteLine("That is not a valid input. Please try again.")
  170.  
  171. End Try
  172.  
  173. If UI = "Y" Or UI = "y" Then
  174. Counter = 1
  175. ElseIf UI = "N" Or "n" Then
  176. Counter = 0
  177. End If
  178.  
  179. Loop Until Counter = 1
  180.  
  181. Select Case UI
  182. Case "Y"
  183. Call Display()
  184. Case "y"
  185. Call Display()
  186. Case "N"
  187. Console.WriteLine("Exiting...")
  188. Thread.Sleep(200)
  189. Case "n"
  190. Console.WriteLine("Exiting...")
  191. Thread.Sleep(200)
  192. End Select
  193. End Sub
  194.  
  195. Sub Display()
  196.  
  197. Console.Clear()
  198. Console.WriteLine("Stored User Data:")
  199. Console.WriteLine("¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯")
  200. Console.WriteLine()
  201.  
  202. For index = 0 To Users - 1
  203. Console.WriteLine(FName(index) & " " & SName(index) & " " & PassW(index))
  204. Next
  205.  
  206. Console.ReadLine()
  207. End Sub
  208. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement