PureBoard
http://forums.purebasic.com/german/

[Code] Kompakter Passwort Generator
http://forums.purebasic.com/german/viewtopic.php?f=8&t=31320
Seite 1 von 1

Autor:  Mijikai [ 27.02.2019 18:46 ]
Betreff des Beitrags:  [Code] Kompakter Passwort Generator

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()!

Code:
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:
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

Autor:  sibru [ 27.02.2019 22:29 ]
Betreff des Beitrags:  Re: [Code] Kompakter Passwort Generator

Danke !!! :allright:

gut abgepasst, brauche ich gerade... :)

Autor:  NicTheQuick [ 27.02.2019 23:04 ]
Betreff des Beitrags:  Re: [Code] Kompakter Passwort Generator

Um kryptografisch sichere Passwörter zu erzeugen, bau am besten CryptRandomData() ein. Nur damit stellst du sicher, dass sich keine Passwörter wiederholen können bzw. dass sie jemand mit dem richtigen Startwert (siehe RandomSeed()) erneut erzeugen kann.

Autor:  Mijikai [ 27.02.2019 23:22 ]
Betreff des Beitrags:  Re: [Code] Kompakter Passwort Generator

NicTheQuick hat geschrieben:
Um kryptografisch sichere Passwörter zu erzeugen, bau am besten CryptRandomData() ein. Nur damit stellst du sicher, dass sich keine Passwörter wiederholen können bzw. dass sie jemand mit dem richtigen Startwert (siehe RandomSeed()) erneut erzeugen kann.


Danke für den Hinweis, hab eine weitere Version geschrieben und meinen Post geupdated :)
Jetzt gibt es 2 Varianten - hohe und mittlere Sicherheit.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/