Eingabe der Inputbox, verschlüsselt in der .ini speichern. Bei Start wieder auslesen und wiedergeben.

  • Hi,
    Situation:

    (erster)Start > Passwort eingeben > in .ini speichern > beenden > neustarten > auslesen > in der Inputbox wiedergeben. >> Funktioniert

    Ich hätte es aber lieber so zB:

    (erster)Start > Passowrt eingeben > verschlüsselt in .ini speichern > beenden > neustarten > auslesen/encrypten > in der Inputbox wiedergeben.

    Die Inputboxen in die das PW eingetragen wird, benutzen schon $ES_Password - aber ich möchte gern auch das die Speicherung verschlüsselt wird.
    Diese Funktion wär gut für mich, da ich arbeitsbedingt viel mit FTP etc. zu tun habe und gern automatisch einloggen würde, das funktioniert alles nur wie ich das Passwort in der .ini verschlüssel, weis ich nicht.

    Danke schonmal für die Hilfe.

    Einmal editiert, zuletzt von vism (6. Juni 2010 um 01:46)

  • Bitte etwas vom Code zeigen, dass wir dir helfen können! Btw. "encrypt" heißt verschlüsseln und nicht entschlüsseln ;)
    Ansonsten

    [autoit]

    _StringEnrcypt

    [/autoit]


    "Decrypt" halt xD, xD naja hier mal den Teil des Eintippens (Handelt sich um 2 passwörter)

    [autoit]

    $save_name = GUICtrlCreateInput($nameread,40,112,150,20)
    $save_pass = GUICtrlCreateInput($pwread,195,112,150,20, $ES_PASSWORD)
    $save_name1 = GUICtrlCreateInput($nameread1,40,142,150,20)
    $save_pass1 = GUICtrlCreateInput($pwread1,195,142,150,20, $ES_PASSWORD)

    [/autoit]


    Teil des Speicherns

    [autoit]

    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version.ini","login","pw", GUICtrlRead($save_pass))
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version.ini","login","pw2", GUICtrlRead($save_pass1))

    [/autoit]


    und den Teil des Auslesens.

    [autoit]

    $nameread = iniread("version.ini","login","email","")
    $pwread = iniread("version.ini","login","pw","")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = iniread("version.ini","login","pw2","")

    [/autoit]

    Anders gesagt gehts mir halt darum, das dass PW nicht sofort im vorbeigehen eingesehn werden kann, das maximal was passieren könnte wäre nunmal das jemand in die .ini glotzt, sollen sie ruhig, solange das PW verschlüsselt gespeichert wird. :P Muss kein besonders gutes Verschlüsselungssystem sein, nur einfach und schnell. xD

    Einmal editiert, zuletzt von vism (5. Juni 2010 um 23:36)

  • [autoit]

    _StringEncrypt

    [/autoit]

    dürfte helfen ;). Das ist doch einfach und schnell also was spräche dagegen es zu verwenden? ?(

    Eigendlich nichts, - lediglich die tatsache das ich nicht weis wie ich es verwende - Asche auf mein Haupt. xD

    Einmal editiert, zuletzt von vism (5. Juni 2010 um 23:18)


  • Ich gehe jetzt mal davon aus, dass es sich dabei um einen Rechtschreibfehler handelt... 8|
    Hier mal der Link zur Onlinehilfe von _StringEncrypt.

    Natürlich war des einer. xDDD
    Naja also das is ja schön und gut, aber das System versteht mein Hirn net. Also naja ich hab so das Gefühl das ich da was überlese, oder es einfach net raffe.
    ich will automatisch entschlüsseln lassen, muss ich dazu dann ein Verschlüsselungspasswort iwo mit reinschreiben...oder so?

    Ich bin dazu eigendlich halt auch immer ausgegangen das es nur einem Befehl bedarf, den ich unter/hinter/vor das iniwrite setzen muss...Ich will ja kein PW eingeben ich will das es halt ausgelesen wird -automatisch- ohne zusätzliche Eingabe, es soll nunmal nur in der .ini verschlüsselt dargestellt werden.

    5 Mal editiert, zuletzt von vism (5. Juni 2010 um 23:41)

  • Dann schreib das Passwort zum verschlüsseln des eigentlichen Passworts in das Script, nach dem kompilieren ist es zumindest ein wenig geschützt.


    Naja wie schon erwähnt durch diesen Befehl steig ich net durch, ich weis nich wie ich es anwenden kann...

  • So verschlüsselst du die Passwörter:

    Spoiler anzeigen
    [autoit]


    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version.ini","login","pw", _StringEncrypt(1,GUICtrlRead($save_pass),"hier einen Belibigen Text rein"))
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version.ini","login","pw2", _StringEncrypt(1,GUICtrlRead($save_pass1),"hier einen Belibigen Text rein"))

    [/autoit]


    Edit: sorry hab 2 Klammern vergessen^^
    Beim entschlüsseln gehst du ähnlich vor, nur ersetzt du die 1 in eine 0

    Spoiler anzeigen
    [autoit]


    $nameread = iniread("version.ini","login","email","")
    $pwread = _StringEncrypt(0,iniread("version.ini","login","pw",""),"hier einen Belibigen Text rein")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = _StringEncrypt(0,iniread("version.ini","login","pw2",""),"hier einen Belibigen Text rein")

    [/autoit]


    dafür musst du die String.au3 includet haben

    [autoit]


    #include<String.au3>

    [/autoit]

    3 Mal editiert, zuletzt von Zeitriss (6. Juni 2010 um 00:39)


  • Glaub mein Brain is zu fail dafür, hab das jetzt gemacht krieg aber nen Error, direkt beim iniwrite vom ersten PW. Beim Starten wird mir auch im PW-Feld standartmäßig eine "0" ausgegeben, das dürfte doch auch nicht normal sein oder?

  • Ohne Script ist schlecht, was zu sagen.

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GUIConstants.au3>
    #include <EditConstants.au3>

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

    GUICreate("Battlefield Heroes - Launcher",367,240)
    GUICtrlCreateLabel("E-Mail Adresse",75,99)
    GUICtrlCreateLabel("Acc: 1",5,115)
    GUICtrlCreateLabel("Acc: 2",5,145)
    GUICtrlCreateLabel("Passwort (max. 20 Zeichen)",205,99)
    $vlauncher = iniread("version.ini","Launcher","Version","")
    GUICtrlCreateLabel("Version: " & $vlauncher,40,203)
    $nameread = iniread("version.ini","login","email","")
    $pwread = iniread("version.ini","login","pw","")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = iniread("version.ini","login","pw2","")
    $save_name = GUICtrlCreateInput($nameread,40,112,150,20)
    $save_pass = GUICtrlCreateInput($pwread,195,112,150,20, $ES_PASSWORD)
    $save_name1 = GUICtrlCreateInput($nameread1,40,142,150,20)
    $save_pass1 = GUICtrlCreateInput($pwread1,195,142,150,20, $ES_PASSWORD)
    GuiSetState(@SW_Show)
    $Save = GUICtrlCreateButton("Speichern",40,175,150,20)
    $Game = GUICtrlCreateButton("Start (Acc1)",195,175,150,20)
    $Game1 = GUICtrlCreateButton("Start (Acc2)",195,200,150,20)
    GUICtrlCreatePic("GFX\Logo.jpg",0,0,367,97)
    GuiSetState(@SW_Show)

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $Save
    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version-ini","login","pw",GUICtrlRead($save_pass))
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version-ini","login","pw2",GUICtrlRead($save_pass1))
    msgbox(0,"Gespeichert!","Die Daten wurden gespeichert." & @CRLF & "Das Spiel kann nun gestartet werden.")
    Case $msg = $Game
    run("Quask.exe")
    exit
    Case $msg = $Game1
    run("Queskex.exe")
    exit
    EndSelect
    WEnd

    [/autoit]
  • Erstens ist in diesem Script kein _StringEncrypt eingebaut und zweitens kommt bei mir kein Error...


    Das is ja auch das Script, was ich voher hatte^^

    Wie ichs richtich einbau weis ich ja nich, ich kanns ja nochmal so machen wie ichs hatte.

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <String.au3>

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

    GUICreate("Battlefield Heroes - Launcher",367,240)
    GUICtrlCreateLabel("Launcher - Starter - Updater - de_DE_Mod Scripted by VisM.OwnZ?>*",17,225)
    GUICtrlCreateLabel("E-Mail Adresse",75,99)
    GUICtrlCreateLabel("Acc: 1",5,115)
    GUICtrlCreateLabel("Acc: 2",5,145)
    GUICtrlCreateLabel("Passwort (max. 20 Zeichen)",205,99)
    $vlauncher = iniread("version.ini","Launcher","Version","")
    GUICtrlCreateLabel("Version: " & $vlauncher,40,203)
    $nameread = iniread("version.ini","login","email","")
    $pwread = _StringEncrypt(0,iniread("version.ini","login","pw",""),"iwas")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = _StringEncrypt(0,iniread("version.ini","login","pw2",""),"iwas")
    $save_name = GUICtrlCreateInput($nameread,40,112,150,20)
    $save_pass = GUICtrlCreateInput($pwread,195,112,150,20, $ES_PASSWORD)
    $save_name1 = GUICtrlCreateInput($nameread1,40,142,150,20)
    $save_pass1 = GUICtrlCreateInput($pwread1,195,142,150,20, $ES_PASSWORD)
    GuiSetState(@SW_Show)
    $Save = GUICtrlCreateButton("Speichern",40,175,150,20)
    $Game = GUICtrlCreateButton("Start (Acc1)",195,175,150,20)
    $Game1 = GUICtrlCreateButton("Start (Acc2)",195,200,150,20)
    GUICtrlCreatePic("GFX\Logo.jpg",0,0,367,97)
    GuiSetState(@SW_Show)

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $Save
    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version.ini","login","pw", _StringEncrypt(1,GUICtrlRead($save_pass),"iwas")
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version.ini","login","pw2", _StringEncrypt(1,GUICtrlRead($save_pass1),"iwas")
    msgbox(0,"Gespeichert!","Die Daten wurden gespeichert." & @CRLF & "Das Spiel kann nun gestartet werden.")
    Case $msg = $Game
    run("Quask.exe")
    exit
    Case $msg = $Game1
    run("Queskex.exe")
    exit
    EndSelect
    WEnd

    [/autoit]
  • Sorry ich habe in meinem Beispiel 2 Klammern vergessen wie ich oben schon rein Editiert habe. :whistling:
    Also müsste dein Script so aussehen:

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <String.au3>

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

    GUICreate("Battlefield Heroes - Launcher",367,240)
    GUICtrlCreateLabel("Launcher - Starter - Updater - de_DE_Mod Scripted by VisM.OwnZ?>*",17,225)
    GUICtrlCreateLabel("E-Mail Adresse",75,99)
    GUICtrlCreateLabel("Acc: 1",5,115)
    GUICtrlCreateLabel("Acc: 2",5,145)
    GUICtrlCreateLabel("Passwort (max. 20 Zeichen)",205,99)
    $vlauncher = iniread("version.ini","Launcher","Version","")
    GUICtrlCreateLabel("Version: " & $vlauncher,40,203)
    $nameread = iniread("version.ini","login","email","")
    $pwread = _StringEncrypt(0,iniread("version.ini","login","pw",""),"iwas")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = _StringEncrypt(0,iniread("version.ini","login","pw2",""),"iwas")
    $save_name = GUICtrlCreateInput($nameread,40,112,150,20)
    $save_pass = GUICtrlCreateInput($pwread,195,112,150,20, $ES_PASSWORD)
    $save_name1 = GUICtrlCreateInput($nameread1,40,142,150,20)
    $save_pass1 = GUICtrlCreateInput($pwread1,195,142,150,20, $ES_PASSWORD)
    GuiSetState(@SW_Show)
    $Save = GUICtrlCreateButton("Speichern",40,175,150,20)
    $Game = GUICtrlCreateButton("Start (Acc1)",195,175,150,20)
    $Game1 = GUICtrlCreateButton("Start (Acc2)",195,200,150,20)
    GUICtrlCreatePic("GFX\Logo.jpg",0,0,367,97)
    GuiSetState(@SW_Show)

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $Save
    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version.ini","login","pw", _StringEncrypt(1,GUICtrlRead($save_pass),"iwas"))
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version.ini","login","pw2", _StringEncrypt(1,GUICtrlRead($save_pass1),"iwas"))
    msgbox(0,"Gespeichert!","Die Daten wurden gespeichert." & @CRLF & "Das Spiel kann nun gestartet werden.")
    Case $msg = $Game
    run("Quask.exe")
    exit
    Case $msg = $Game1
    run("Queskex.exe")
    exit
    EndSelect
    WEnd

    [/autoit]
  • Dankeschön =) eine Frage hab ich allerdings noch, isses mir möglich dafür zu sorgen das keine "0" beim ersten Start gelesen wird? (Sprich: diese beim ersten Start im PW Feld angegeben wird...)

  • Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <String.au3>

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

    GUICreate("Battlefield Heroes - Launcher",367,240)
    GUICtrlCreateLabel("Launcher - Starter - Updater - de_DE_Mod Scripted by VisM.OwnZ?>*",17,225)
    GUICtrlCreateLabel("E-Mail Adresse",75,99)
    GUICtrlCreateLabel("Acc: 1",5,115)
    GUICtrlCreateLabel("Acc: 2",5,145)
    GUICtrlCreateLabel("Passwort (max. 20 Zeichen)",205,99)
    $vlauncher = iniread("version.ini","Launcher","Version","")
    GUICtrlCreateLabel("Version: " & $vlauncher,40,203)
    $nameread = iniread("version.ini","login","email","")
    $pwread = iniread("version.ini","login","pw","")
    If Not $pwread = "" Then $pwread = _StringEncrypt(0,$pwread,"iwas")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = iniread("version.ini","login","pw2","")
    If Not $pwread1 = "" Then $pwread1 = _StringEncrypt(0,$pwread1,"iwas")
    $save_name = GUICtrlCreateInput($nameread,40,112,150,20)
    $save_pass = GUICtrlCreateInput($pwread,195,112,150,20, $ES_PASSWORD)
    $save_name1 = GUICtrlCreateInput($nameread1,40,142,150,20)
    $save_pass1 = GUICtrlCreateInput($pwread1,195,142,150,20, $ES_PASSWORD)
    GuiSetState(@SW_Show)
    $Save = GUICtrlCreateButton("Speichern",40,175,150,20)
    $Game = GUICtrlCreateButton("Start (Acc1)",195,175,150,20)
    $Game1 = GUICtrlCreateButton("Start (Acc2)",195,200,150,20)
    GUICtrlCreatePic("GFX\Logo.jpg",0,0,367,97)
    GuiSetState(@SW_Show)

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $Save
    iniwrite("version.ini","login","email", GUICtrlRead($save_name))
    iniwrite("version.ini","login","pw", _StringEncrypt(1,GUICtrlRead($save_pass),"iwas"))
    iniwrite("version.ini","login","email2", GUICtrlRead($save_name1))
    iniwrite("version.ini","login","pw2", _StringEncrypt(1,GUICtrlRead($save_pass1),"iwas"))
    msgbox(0,"Gespeichert!","Die Daten wurden gespeichert." & @CRLF & "Das Spiel kann nun gestartet werden.")
    Case $msg = $Game
    run("Quask.exe")
    exit
    Case $msg = $Game1
    run("Queskex.exe")
    exit
    EndSelect
    WEnd

    [/autoit]

    [Edit:] owei bin echt schon müde :D habe des Script verändert, klappts so?

    Einmal editiert, zuletzt von Zeitriss (6. Juni 2010 um 01:26)


  • Danke für die Mühe, jetz aber nochn Problem, die 0 wird nicht angezeigt, aber wenn man was eingegeben hatte und dann neugestartet hatte stimmte das 2te PW nichmehr bzw es war dann nich 8 zeichen sondern 25zeichen lang oä.
    €: ES_PASSWORD mal removed, - sieht so aus als würde er nur die kryptische-Zeile wiedergeben also halt nich wieder decrypten wie es der Fall bei der ersten PWzeile is - allerdings stelle ich keinen Unterschied zwischen den beiden fest...

    €2: So gehts anscheinend.

    [autoit]

    If Not $pwread = "" Then $pwread = _StringEncrypt(0,$pwread,"iwas")
    $nameread1 = iniread("version.ini","login","email2","")
    $pwread1 = iniread("version.ini","login","pw2","")
    If Not $pwread1 = "" Then $pwread1 = _StringEncrypt(0,$pwread1,"iwas")

    [/autoit]

    Vielen Danke nochmal an alle ! =)

    4 Mal editiert, zuletzt von vism (6. Juni 2010 um 01:46)