38 lines
1007 B
Plaintext
38 lines
1007 B
Plaintext
Dim As String charS(4)
|
|
charS(1) = "0123456789"
|
|
charS(2) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
charS(3) = "abcdefghijklmnopqrstuvwxyz"
|
|
charS(4) = "!""#$%&'()*+,-./:;<=>?@[]^_{|}~"
|
|
charS(0) = charS(1) + charS(2) + charS(3) + charS(4)
|
|
|
|
|
|
Dim As Integer howBig, howMany
|
|
Do
|
|
Print !"------ Password Generator ------\n"
|
|
Input "Longitud de la contrase¤a (n>=4): ", howBig
|
|
If howBig < 1 Then Sleep: End
|
|
|
|
Input "Cantidad de contrase¤as (n>=1): ", howMany
|
|
Loop While howMany < 1
|
|
|
|
Print !"\nGeneradas"; howMany; " contrase¤as de"; howBig; " caracteres"
|
|
|
|
Dim As Integer i = 0
|
|
Dim As String password, Ok, w
|
|
While i < howMany
|
|
password = ""
|
|
Ok = "...."
|
|
For j As Integer = 1 To howBig
|
|
w = Mid(charS(0), Int(Rnd * Len(charS(0))) + 1, 1)
|
|
For k As Byte = 1 To 4
|
|
If Instr(charS(k), w) Then Ok = Left(Ok, k-1) + "*" + Mid(Ok, k+1)
|
|
Next k
|
|
password += w
|
|
Next j
|
|
If Ok = "****" Then
|
|
i += 1
|
|
Print Using "##. &"; i; password
|
|
End If
|
|
Wend
|
|
Sleep
|