Passwort auf Schreibweise prüfen

  • Hallo Leute,

    ich glaub ich stell mich grade ein bisschen dumm an bei der Umsetzung der Passwort abfrage :S

    [autoit]

    Do
    $Kennwort = InputBox("Kennwort Abfrage", "Kennwort:","","*", 75,130)
    If $Kennwort = "TC5s6t" Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf @error = 1 Then
    Exit
    Else
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until $Kennwort = "TC5s6t"

    [/autoit]

    so, dass ist zwar generell richtig, aber das Beispiel Passwort wird auch angenommen, die Buchstaben belieben groß oder klein geschrieben sind.
    Ich versuch es hinzubekommen, dass die Schreibweise geprüft werde hab dazu dann follgendes ausprobiert:

    [autoit]

    Do
    If StringRegEXP ("TC5s6t", $Kennwort, "[.]") Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf @error = 1 Then
    Exit
    Else
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until $Kennwort = "TC5s6t"

    [/autoit]

    und noch einiges anderes, aber entweder nimmt er alles an oder alles bis auf das was ich als Beispiel PW gebe oder er fällt in eine entlosschleife die nicht mal mit @error geclosed wird.


    Kann mir bitte wer helfen. ^^:?:

  • Ich glaube

    [autoit]

    If $Kennwort == "TC5s6t" Then

    [/autoit]

    sollte funktionieren.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Wenn du vor hast dein Passwort im Script fest stehen zu haben würde ich dir empfehlen es als Hashwert zu speichern.
    Beim vergleich kommt bei Klein/Großschreibung auch ein anderer Hashwert raus so das sich damit auch dein problem "umgehen" lässt ^^

  • Ich würde statt der Inputbox ein eigenes GUI erstellen mit einem

    [autoit]

    GUICtrlCreateInput

    [/autoit]

    .
    Dort kannst du das ganze nämlich wie folgt mit styles einstellen:

    Spoiler anzeigen


    GUICtrlCreateInput ( "text", left, top [, width [, height [, style)
    +
    $ES_PASSWORD | 0x0020 | Zeigt für jedes eingegebene Zeichen ein Sternchen (*) an.

    Das ganze kannst du auch nochmal in der Hilfe nachschauen.

    Zitat

    "Some people feel the rain, others just get wet." - Bob Marley

  • Stichwort: case sensetive ... wenn tu es feste kodierst musst du es durch case-sensetive abfragen matchen ... eine Alternative könnte vll.: StringInStr werden ... da gibt es das als Parameter, jedoch musst du dann au0en rum noch ein bissle was schreiben damit du das gewünschte Ergebnis bekommst.

    Grüße Yaerox

    Grüne Hölle

  • Guten Mrgen Zusammen,

    Vielen Dank für die ganzen Antworten =)

    Micha_he : Dein Tipp, steht schon so in meinem Script. Das funktioniert allerdings nicht wie gewünscht, da nicht getestet wird, ob Groß- oder Kleinschreibung vorhanden ist. Es wird nur überprüft, ob die Zeichen enthalten sind sonst nichts.

    Skerg: Ich verstehe leider nicht was du damit meinst ?( Meinst du ich soll das PW als Varriable setzten?

    NightmarePhoenix: Der Tipp wäre natürlich perfekt, da man damit das Problem sofort löst. Aber leider habe ich das vorher schon so geschrieben gehabt, aber da ich die Funktion für die Enter-tasten Betätigung nicht kenne und auch selbst nicht weis, wie ich das schreiben könnte, habe ich mich dann entschieden eine InputBox zu verwenden.

    @YaeroxXO: Das mit Case-Senitive habe ich mir angesehen und komm nicht dahinter, wie das Funktionieren soll, aber werde mich nochmal dran setzten und das dann ausprobieren.

    chesstiger : Werde ich mir auf jenden Fall mal ansehen, weils stark danach aussieht, als wäre es genau das was ich benötige.

  • Hab es so hinbekommen wie es chesstiger empfolen hat. =) Funktioniert perfekt :)

    [autoit]

    Do
    $Kennwort = InputBox("Kennwort Abfrage", "Kennwort:","","*", 75,130)
    If @error = 1 Then
    Exit
    ElseIf StringCompare($Kennwort,"TC5s6t",1) = 0 Then;$Kennwort = "TC5s6t" Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf StringCompare($Kennwort,"TC5s6t",1) = -1 Or StringCompare($Kennwort,"TCP5s6t",1) = 1 Then
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until StringCompare($Kennwort,"TC5s6t",1) = 0

    [/autoit]