I also want to share my RandomPassword function
It ensures that the password has at least one lower,upper and special character.
Supported length 4 - 128.
Code:
Code: Select all
EnableExplicit
;Compact RandomPassword by Mijikai
;Password length 4 - 128
;PB v.5.62
Procedure.s RandomPassword(Length.i)
Protected Dim block.a(127)
Protected index.i
Protected password.s
Protected *key.Ascii
If Length > 3 And Length < 129
block(0) = Random(25,0)
block(1) = Random(51,26)
block(2) = Random(81,52)
For index = 3 To Length - 1
block(index) = Random(81,0)
Next
RandomizeArray(block(),0,Length - 1)
For index = 0 To Length - 1
*key = ?randompassword + block(index)
password + Chr(*key\a)
Next
ProcedureReturn password
Else
ProcedureReturn #Null$;<- DONT USE WITH PB v.5.70!
EndIf
randompassword:
!db 'abcdefghijklmnopqrstuvwxyz'
!db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
!db 0x21,0x22,0x23,0x24,0x25,0x26
!db 0x27,0x28,0x29,0x2A,0x2B,0x2C
!db 0x2D,0x2E,0x2F,0x3A,0x3B,0x3C
!db 0x3D,0x3E,0x3F,0x40,0x5B,0x5D
!db 0x5E,0x5F,0x7B,0x7C,0x7D,0x7E
EndProcedure
Debug RandomPassword(64)
End