[Code] Kompakter Passwort Generator
Verfasst: 27.02.2019 18:46
Viel Spaß
27.02.2019 Edit: Komplexer Generator hinzugefügt!
--------------------------------------------------
Komplexer Generator (hohe Sicherheit):
Das generierte Passwort hat immer mindestens einen kleinen und großen Buchstabe
sowie ein Sonderzeichen und eine Zahl.
Nutzt die sichere Funktion CryptRandom()!
__________________________________________________
Einfacher Generator (mittlere Sicherheit):
Das generierte Passwort hat immer mindestens einen kleinen und großen
Buchstabe sowie ein Sonderzeichen.
Es werden Längen von 4 - 128 unterstützt.
Code:
27.02.2019 Edit: Komplexer Generator hinzugefügt!
--------------------------------------------------
Komplexer Generator (hohe Sicherheit):
Das generierte Passwort hat immer mindestens einen kleinen und großen Buchstabe
sowie ein Sonderzeichen und eine Zahl.
Nutzt die sichere Funktion CryptRandom()!
Code: Alles auswählen
EnableExplicit
;Compact RandomPassword.b (komplex) 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
If OpenCryptRandom()
block(0) = CryptRandom(9)
block(1) = CryptRandom(25) + 10
block(2) = CryptRandom(25) + 36
block(3) = CryptRandom(29) + 52
For index = 4 To Length - 1
block(index) = CryptRandom(91)
Next
RandomizeArray(block(),0,Length - 1)
For index = 0 To Length - 1
*key = ?randompassword + block(index)
password + Chr(*key\a)
Next
CloseCryptRandom()
ProcedureReturn password
Else
ProcedureReturn #Null$;<- DONT USE WITH PB v.5.70!
EndIf
Else
ProcedureReturn #Null$;<- DONT USE WITH PB v.5.70!
EndIf
randompassword:
!db '0123456789'
!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
Einfacher Generator (mittlere Sicherheit):
Das generierte Passwort hat immer mindestens einen kleinen und großen
Buchstabe sowie ein Sonderzeichen.
Es werden Längen von 4 - 128 unterstützt.
Code:
Code: Alles auswählen
EnableExplicit
;Compact RandomPassword.a (einfach) 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