RosettaCodeData/Task/Password-generator/FreeBASIC/password-generator.basic

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