Seite 1 von 1

Passwort generieren

Verfasst: 01.03.2009 13:24
von X360 Andy
Hier eine kleine Procedure zum erstellen eines Passworts.

Es können Klein-Groß Buchstaben , Zahlen und Sonderzeichen verwendet werden.

Sowas hab ich vor ein paar Wochen mal gesucht, auch gefunden aber die Procedure war mir zu voll....

Aber vieleicht kann ja jemand das hier mal gebrauchen :)

Code: Alles auswählen

Procedure.s PasswortGenerator(leange, gross_klein, sonderzeichen, zahlen)
  Repeat
    Passwortzeichenformat = Random(2)
    If Passwortzeichenformat = 0
      ;Wenn groß und kleinschreibung = 1  ...
      If gross_klein = 1
        klein_oder_gross = Random(1)
        If klein_oder_gross = 1
          zufallsbuchstaben = Random(25) : Passwort$ + Chr(97 + zufallsbuchstaben)
        Else
          zufallsbuchstaben = Random(25) : Passwort$ + Chr(65 + zufallsbuchstaben)
        EndIf
      EndIf
    EndIf
    
    If Passwortzeichenformat = 1
      ;Wenn Zahlen = 1 ist  ....
      If zahlen = 1
        zufallszahl = Random(9) : Passwort$ + Chr(48 + zufallszahl)
      EndIf
    EndIf
    
    If Passwortzeichenformat = 2
      ;Wenn Sonderzeichen = 1 ist ...
      If sonderzeichen = 1
        zufallszeichen = Random(14) : Passwort$ + Chr(33 + zufallszeichen)
      EndIf
    EndIf
    
  Until Len(Passwort$) = leange
  ProcedureReturn Passwort$
EndProcedure
Und hier ein Anwendungsbeispiel

Code: Alles auswählen

OpenWindow(0, 669, 330, 333, 104, "Passwort generieren", #PB_Window_SystemMenu | #PB_Window_TitleBar)
StringGadget(1, 10, 80, 310, 20, "", #PB_String_ReadOnly)
CheckBoxGadget(2, 150, 10, 60, 20, "Zahlen")
CheckBoxGadget(3, 230, 10, 90, 20, "Sonderzeichen")
CheckBoxGadget(4, 10, 10, 130, 20, "Groß-Klein Buchstaben")
SpinGadget(5, 130, 40, 30, 20, 0, 100, #PB_Spin_Numeric)
SetGadgetState(5,10)
TextGadget(6, 10, 40, 110, 20, "Länge des Passworts")
ButtonGadget(7, 180, 40, 140, 20, "Passwort generieren")

Repeat
  
  Select WaitWindowEvent()
      
    Case #PB_Event_Gadget
      
      Select EventGadget()
          
        Case 7
          
          leange = GetGadgetState(5)
          
          gross_klein = GetGadgetState(4)
          
          sonderzeichen = GetGadgetState(3)
          
          zahlen = GetGadgetState(2)
          
          If gross_klein = 0 And sonderzeichen = 0 And zahlen = 0
            
            SetGadgetText(1, "Fehler;Passwort Format wählen")
         Else
           Passwort$ = PasswortGenerator(leange, gross_klein, sonderzeichen, zahlen)
           SetGadgetText(1, Passwort$)
          EndIf
            
         
       
      EndSelect
      
    Case #PB_Event_CloseWindow
      
      Break
      
  EndSelect
  
ForEver

Verfasst: 01.03.2009 14:16
von Andesdaf
danke für den Code :allright: