Problem bei Verschlüsselung

  • Spoiler anzeigen
    [autoit]


    $Form1_1 = GUICreate("Cryption", 319, 63, 256, 163)
    $Button1 = GUICtrlCreateButton("Verschlüsseln", 0, 0, 155, 33)
    $Button2 = GUICtrlCreateButton("Entschlüsseln", 160, 0, 155, 33)
    $Password = GUICtrlCreateInput("Passsword", 8, 40, 145, 21)
    $Label1 = GUICtrlCreateLabel("Ausgabe: ", 160, 40, 52, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("Privat? Info: F1", 16, 64, 97, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    $pass = GUICtrlRead ($Password)
    $komm = FileSaveDialog ("Datei auswählen", "", "Text files (*.txt)")
    $read = FileRead ($komm)
    MsgBox (1,"",$read)

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

    #Verschlüsselung
    #cs
    If GUICtrlRead ($Checkbox1) = 1 Then
    $pass = DriveGetSerial (@HomeDrive & "")
    EndIf

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

    _Crypt_Startup() ; To optimize performance start the crypt library.

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

    Local $bAlgorithm = $CALG_RC4
    $password = _Crypt_DeriveKey($pass, $bAlgorithm)

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

    $AES = _Crypt_EncryptData ($read, $pass, $bAlgorithm)
    $File = FileWrite ("CryptionVer.txt", $AES)
    MsgBox (1,"",$AES)
    #ja der code ist eigentlich länger aber das Problem liegt bereits hier...

    [/autoit]

    Das Skript soll die Daten aus einer txt verschlüsseln. In der Msgbox werden auch vernünftige Werte ausgegeben aber im Filewrite kommen nur seltsame Zeichen...
    Weiß jemand warum und wie sich das so ändern lässt, dass auch in der neuen .txt file die wirklich verschlüsselten Werte stehen.

    Danke!

    Einmal editiert, zuletzt von Gandalf (22. Januar 2014 um 19:30)

  • Poste doch bitte lauffähigen Code. Dann ist die Chance auch höher dass jemand dir hilft.
    Wenn man da zuerst diverses ändern muss damit was lauft braucht das unnötig Zeit

    Spontan würd' ich mal sagen FileOpen und FileClose sauber anwenden und wenn du das verschlüsselte ins File schreibst binary flag setzten.

    /edit

    Aus der Hilfe von FileWrite:

    AutoIt schreibt Text standardmäßig mit ANSI Kodierung. Um in Unicode Kodierung zu schreiben, muss die Datei mit FileOpen unter Verwendung der notwendigen Flags geöffnet werden.

    Demnach schriebst du den Binary string mit ANSI Kodierung in das File.