• Habe vor uff...paar monaten oder jahre mal dieses kleine script gebastelt woran ich nun weiter machen werde.
    Könnt es euch ja mal anschauen und tipps etc. geben =)
    Danke.
    PS: Es verschlüsselt und entschlüsselt bisher nur .txt dateien.

    [autoit]

    #include <File.au3>
    #include <GuiListView.au3>
    $File = ""
    $GUI = GUICreate("FreeCrypt", 500, 420)
    $Menu = GUICtrlCreateMenu("Data")
    $Open = GUICtrlCreateMenuItem("Open", $Menu)
    $HelpMenu = GUICtrlCreateMenu("?")
    $Info = GUICtrlCreateMenuItem("Info", $HelpMenu)
    $Help = GUICtrlCreateMenuItem("Help", $HelpMenu)
    $Start = GUICtrlCreateButton("Start", 440, 370, 50)
    $CFile = GUICtrlCreateButton("Choose Files", 350, 70, 70)
    $Group1 = GUICtrlCreateGroup("Mode", 4, 4, 90, 45)
    $Group1 = GUICtrlCreateGroup("Info", 230, 4, 200, 45)
    GUICtrlCreateLabel("Momentan nur .TXT Formate möglich", 240, 20)
    $CMode = GUICtrlCreateCombo("", 10, 20, 70)
    GUICtrlSetData($CMode, "Encrypt")
    GUICtrlSetData($CMode, "Decrypt")
    $Group2 = GUICtrlCreateGroup("Files", 4, 60, 430, 300)
    $ListView = GUICtrlCreateListView("", 10, 100, 410, 250)
    _GUICtrlListView_AddColumn($ListView, "File", 400)
    GUISetState(@SW_SHOW, $GUI)
    $Key = Random()

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case -3
    If $nMsg[1] = $GUI Then
    Exit
    Else
    GUISetState(@SW_HIDE, $nMsg[1])
    EndIf
    Case $Start
    If $File = "" Then
    MsgBox(16, "Error", "No File choosen!")
    Else
    $Mode = GUICtrlRead($CMode)
    ConsoleWrite($Mode & @CRLF)
    If $Mode = "Encrypt" Then
    _Secure_Encrypt($File, $Key)
    Else
    If $Mode = "Decrypt" Then
    _Secure_Decrypt($File, $Key)
    Else
    MsgBox(16, "Error", "No Mode choosen!")
    EndIf
    EndIf
    EndIf
    Case $CFile
    $File = FileOpenDialog("Öffnen", @ScriptDir, "(*.*)")
    GUICtrlCreateListViewItem($File, $ListView)
    case $Info
    MsgBox(0, "Info", "With this Tool you can Encrypt and Decrypt Files." & @CR & " Written by: Timo.R" & @CRLF & " With: AutoIT v3")
    case $Open
    $File = FileOpenDialog("Öffnen", @ScriptDir, "(*.*)")
    GUICtrlCreateListViewItem($File, $ListView)
    Case $Help
    MsgBox(0, "Help", "Comming Soon..")
    EndSwitch
    WEnd

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

    Func _Secure_Encrypt($File, $Key)
    $i = 0
    While $i < 3
    $Encrypt = _EncryptFile($File, $Key, 1)
    ConsoleWrite($i & @CRLF)
    $i += 1
    WEnd
    If $Encrypt = True Then
    _GUICtrlListView_DeleteItem($ListView, 0)
    MsgBox(0, "Ready", "Encrypt File: " & $File & " was Successful")
    Else
    MsgBox(16, "Error", "Encrypt File: " & $File & " wasn't Successful")
    EndIf
    EndFunc ;==>_Secure_Encrypt

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

    Func _Secure_Decrypt($File, $Key)
    $i = 0
    While $i < 3
    $Decrypt = _EncryptFile($File, $Key, 0)
    ConsoleWrite($i & @CRLF)
    $i += 1
    WEnd
    If $Decrypt = True Then
    _GUICtrlListView_DeleteItem($ListView, 0)
    MsgBox(0, "Ready", "Decrypt File: " & $File & " was Successful")
    Else
    MsgBox(16, "Error", "Decrypt File: " & $File & " wasn't Successful")
    EndIf
    EndFunc ;==>_Secure_Decrypt
    ;===============================================================================
    ;
    ; Function Name: _Encrypt( $aString, $aPW ,$aMode = 1 )
    ; Description:: Function to en- decrypt strings
    ; Parameter(s): $aString = String to encrypt
    ; $aPW = Password
    ; $aMode = 1 for encrypt, 0 for decrypt
    ; Requirement(s): None
    ; Return Value(s): en- decrypted string
    ; Author(s): Daniel Wahlmann
    ;
    ;===============================================================================
    Func _Encrypt($aString, $aPW, $aMode = 1)
    Local $lReturn = "", $lBuffer = "", $lPW = "", $lStrLen = StringLen($aString), $lPwLen = StringLen($aPW)
    If Not IsString($aString) Or $lStrLen < 1 or ($aMode <> 0 And $aMode <> 1) or ($aMode = 0 And Mod($aString, 2) <> 0) Or StringLen($aPW) < 1 Then Return 0
    For $lNum = 1 To $lPwLen
    $lPW &= Asc(StringMid($aPW, $lNum, 1))
    Next
    Switch $aMode
    Case 1
    For $lNum = 1 To $lStrLen
    $lReturn &= Hex(BitXOR(BitNOT(Asc(StringMid($aString, $lNum, 1)) + 1), $lPW, 255), 2)
    Next
    Case 0
    For $lNum = 1 To $lStrLen
    $lBuffer &= Chr(BitXOR(BitNOT(Asc(Chr(Dec(StringMid($aString, $lNum, 1) & StringMid($aString, $lNum + 1, 1))))), $lPW, 255))
    $lNum += 1
    Next
    For $lNum = 1 To $lStrLen / 2
    $lReturn &= Chr(Asc(StringMid($lBuffer, $lNum, 1)) - 1)
    Next
    EndSwitch
    Return $lReturn
    EndFunc ;==>_Encrypt

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

    ;===============================================================================
    ;
    ; Function Name: _EncryptFile( $aFile, $aPW ,$aMode = 1 )
    ; Description:: Function to en- decrypt files
    ; Parameter(s): $aFile = file to encrypt/decrypt
    ; $aPW = Password
    ; $aMode = 1 for encrypt, 0 for decrypt
    ; Requirement(s): File.au3
    ; Return Value(s): Success 1
    ; Failure 0
    ; Author(s): Daniel Wahlmann
    ;
    ;===============================================================================
    Func _EncryptFile($aFile, $aPW, $aMode = 1)
    Dim $lRead, $lReturn = False
    If FileExists($aFile) Then
    _FileReadToArray($aFile, $lRead)
    FileDelete($aFile)
    For $lNum = 1 To $lRead[0]
    FileWriteLine($aFile, _Encrypt($lRead[$lNum], $aPW, $aMode))
    Next
    $lReturn = True
    EndIf
    Return $lReturn
    EndFunc ;==>_EncryptFile

    [/autoit]