etwas auf einer liste ausgeben

  • Moin leutz,
    also ich hab hier einen generator welcher eingaben variiert. :)
    schön soweit so gut
    mein problem :( :ich würde gern alle variierten ausgaben (also mit allen kombinationen die es gibt ich weiß es können sehr viele sein :P )auf einer liste ausgeben.
    erstes problem :im moment wird immer nur eine eingabe variiert und nicht alle kombinationen die es gibt. ;(
    zweites problem:wie macht man eine grafische liste in der dann alle ausgaben ausgegeben werden. ;(

    Das ist das was ich habe:

    [autoit]

    $input=InputBox("Eingabe","Vorlage eingeben")
    Dim $result=""
    $array=StringSplit($input,"")
    For $i=1 To $array[0]
    If Random(0,1,1) Then
    $result &= StringUpper($array[$i])
    Else
    $result &= StringLower($array[$i])
    EndIf
    Next
    MsgBox(64,"Neue Ausgabe:",$result)

    [/autoit]


    freue mich auf viele antworten :D

    2 Mal editiert, zuletzt von Lucas (6. September 2009 um 13:05)

  • Er will, dass wenn man bei der Inputbox z.B. "abc" eingibt, das "Abc, ABc, ABC, aBc, aBC, abC" ausgegeben wird und nicht nur eine der lösung (soweit ich das verstanden habe^^)

  • Zitat

    sag, dass das keine Brute-Force-Attacke wird

    keine Angst ^^, spätestens als ich

    Zitat

    eine grafische liste in der dann alle ausgaben ausgegeben werden

    gelesen habe war mir klar, daß der ultimative Passwortcracker noch etwas auf sich warten lässt....

    • Offizieller Beitrag

    Sowas?

    Spoiler anzeigen
    [autoit]

    $permutarray = permute("abc")
    $msg = ""
    For $n = 1 To $permutarray[0]
    $msg &= $permutarray[$n] & @CRLF
    Next
    ConsoleWrite($msg)

    [/autoit] [autoit][/autoit] [autoit]

    Func rotate($sString, $nRotateLevel)
    Local $aStringArray = StringSplit($sString, "")
    Local $nStartRotate = $aStringArray[0] - $nRotateLevel + 1
    Local $n, $tempchar, $tempstr = "", $retval = ""
    For $n = 1 To $nStartRotate - 1
    $tempstr &= $aStringArray[$n]
    Next
    $tempchar = $aStringArray[$nStartRotate]
    For $n = $nStartRotate + 1 To $aStringArray[0]
    $retval &= $aStringArray[$n]
    Next
    Return $tempstr & $retval & $tempchar
    EndFunc ;==>rotate

    [/autoit] [autoit][/autoit] [autoit]

    Func permute_internal($sString, $nRotateLevel, ByRef $permutations)
    Local $n, $str
    Dim $arr[$nRotateLevel]
    If $nRotateLevel = 2 Then
    $permutations &= ":" & rotate($sString, $nRotateLevel)
    Return
    EndIf
    $str = $sString
    For $n = 0 To $nRotateLevel - 1
    $str = rotate($str, $nRotateLevel)
    $arr[$n] = $str
    ;--- special check, to stop a level beeing printed twice ---
    If Not (($n = 0) And (StringLen($sString) > $nRotateLevel)) Then
    $permutations &= ":" & $arr[$n]
    EndIf
    permute_internal($arr[$n], $nRotateLevel - 1, $permutations)
    Next
    EndFunc ;==>permute_internal

    [/autoit] [autoit][/autoit] [autoit]

    Func permute($sString)
    Global $permutations = ""
    permute_internal($sString, StringLen($sString), $permutations)
    $permutations = StringTrimLeft($permutations, 1)
    Return StringSplit($permutations, ":")
    EndFunc ;==>permute

    [/autoit]
  • Kurzversion

    [autoit]

    #include <Array.au3>
    DIM $array[6]
    for $i=65 to 70
    $array[$i-65]=chr($i)
    next

    [/autoit][autoit][/autoit][autoit]

    $perm=_arraypermute($array)
    _arraydisplay($perm)

    [/autoit]
  • Hallo

    wenn ich das Thema: PW-Generator richtig verstanden habe, will er alle Kombinationen des gleichen PWs mit unterschiedlicher Gross- bzw. Kleinschreibung. Das Skript das im @L3viathan2142 geschrieben hat liefert aber nur eine zufällige Kombination, ist vielleicht besser so,

    mfg (Auto)Bert

  • [autoit]

    #include <Array.au3>
    $array=stringsplit(inputbox("Passwort","Passwort eingeben:"),"",2)
    $perm=_arraypermute($array)
    _arraydisplay($perm)

    [/autoit]

    gehts kürzer? Wenn es auch nicht genau den Vorgaben entspricht...^^ Aber die eine zusätzliche Zeile sollte er dann doch alleine hinbekommen^^

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (6. September 2009 um 00:50)

  • Danke AutoBert das ist genau das was ich gesucht hatte. :)Ich möchte nur die groß und klein schreibung verändern (wieder alle kombinationen).Sorry bin halt noch ein Anfänger ;)
    Brutforce -Attacke grrrrrr :cursing: hatte ich nicht vor.ich wollte uhrsprünglich ein PW-Generator machen der verschiedene oder alle möglichkeiten eines pw ausgibt so das man sich einfach ein pw aussuchen kann.

    Einmal editiert, zuletzt von Lucas (6. September 2009 um 13:11)