Bien que le chiffrement ne m'intéresse pas j'ai fini quand même par attaquer le TP Cryptographie de Timmalos sur SdZ.
Tout marche correctement sauf le déchiffrement du texte... Malgré tout les exemples (ainsi que la correction du TP) je ne vois pas mon erreur. Je suis sur que c'est truc tout con, mais je ne la vois pas
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>
$Form1 = GUICreate("Encrypt-Decrypt", 351, 287, -1, -1)
Global $Tab1 = GUICtrlCreateTab(8, 7, 337, 273)
Global $TabSheet1 = GUICtrlCreateTabItem("Texte")
GUICtrlSetState(-1,$GUI_SHOW)
Global $Chif1 = GUICtrlCreateButton("Chiffrer", 181, 252, 75, 20)
Global $Dech1 = GUICtrlCreateButton("Déchiffrer", 262, 252, 75, 20)
Global $Edit1 = GUICtrlCreateEdit("Collez votre texte ici...", 19, 40, 313, 121)
Global $Input1 = GUICtrlCreateInput("", 104, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
Global $Label1 = GUICtrlCreateLabel("Mot de passe :", 24, 178, 74, 17)
Global $Label2 = GUICtrlCreateLabel("Algorithme :", 36, 210, 62, 17)
Global $Combo1 = GUICtrlCreateCombo("", 104, 208, 81, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "--------|RC2|RC4|DES|3DES|AES 128|AES 192|AES 256|", "--------")
GUICtrlSetTip(-1, "Sélectionnez l'algorithme de chiffrement")
$Aide1 = GUICtrlCreateButton("?", 14, 252, 19, 20)
GUICtrlSetTip(-1, "Aide")
$Button9 = GUICtrlCreateButton("Reset", 38, 252, 35, 20)
GUICtrlSetTip(-1, "Remise à Zer0")
Global $TabSheet2 = GUICtrlCreateTabItem("Fichier")
Global $Chif2 = GUICtrlCreateButton("Chiffrer", 181, 252, 75, 20)
Global $Dech2 = GUICtrlCreateButton("Déchiffrer", 262, 252, 75, 20)
Global $Input2 = GUICtrlCreateInput("", 104, 118, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
Global $Combo2 = GUICtrlCreateCombo("", 104, 152, 81, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "--------|RC2|RC4|DES|3DES|AES 128|AES 192|AES 256", "--------")
GUICtrlSetTip(-1, "Sélectionnez l'algorithme de chiffrement")
Global $Label3 = GUICtrlCreateLabel("Mot de passe :", 24, 120, 74, 17)
Global $Label4 = GUICtrlCreateLabel("Algorithme :", 36, 154, 62, 17)
Global $Button5 = GUICtrlCreateButton("...", 290, 73, 35, 22)
GUICtrlSetTip(-1, "Parcourir")
Global $Input3 = GUICtrlCreateInput("", 20, 74, 265, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $Input4 = GUICtrlCreateInput("", 20, 214, 265, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $Button6 = GUICtrlCreateButton("...", 290, 213, 35, 22)
GUICtrlSetTip(-1, "Parcourir")
$Aide2 = GUICtrlCreateButton("?", 14, 252, 19, 20)
GUICtrlSetTip(-1, "Aide")
$Label5 = GUICtrlCreateLabel("Sélectionnez un fichier :", 20, 52, 117, 17)
$Label6 = GUICtrlCreateLabel("Destination du fichier :", 20, 192, 109, 17)
$Button10 = GUICtrlCreateButton("Reset", 38, 252, 35, 20)
GUICtrlSetTip(-1, "Remise à Zer0")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
Global $algo
Global $algo2
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Combo1
Switch GUICtrlRead($Combo1) ;listing de ce propose le contenu de la combobox
Case "RC2"
$algo = $CALG_RC2 ; si l'item du combobox est sur "RC2" alors la valeur de la variable $algo est : $CALG_RC2
Case "RC4"
$algo = $CALG_RC4 ; ainsi de suite
Case "DES"
$algo = $CALG_DES
Case "3DES"
$algo = $CALG_3DES
Case "AES 128"
$algo = $CALG_AES_128
Case "AES 192"
$algo = $CALG_AES_192
Case "AES 256"
$algo = $CALG_AES_256
EndSwitch
Case $Combo2
Switch GUICtrlRead($Combo2)
Case "RC2"
$algo2 = $CALG_RC2
Case "RC4"
$algo2 = $CALG_RC4
Case "DES"
$algo2 = $CALG_DES
Case "3DES"
$algo2 = $CALG_3DES
Case "AES 128"
$algo2 = $CALG_AES_128
Case "AES 192"
$algo2 = $CALG_AES_192
Case "AES 256"
$algo2 = $CALG_AES_256
EndSwitch
Case $Chif1
$LireEdit = GUICtrlRead($Edit1) ; recupere le contenu de l'Edit
$LireCombo = GUICtrlRead($Combo1) ; recupere le contenu l'Item du combobox
If $LireEdit = "" Then ; si l'Edit est vide alors...
MsgBox(16, "Information manquante!", "Veuillez insérer un texte dans le champ prévu à cet effet!")
ElseIf $LireCombo = "--------" Then ; sinon si la combo affiche "--------" alors...
MsgBox(16, "Information manquante!", "Aucun algorithme n'a été spécifié dans la liste déroulante!")
Else ; si tout est en règle alors on chiffre le texte donné...
$Crypt = _Crypt_EncryptData(GUICtrlRead($Edit1), GUICtrlRead($Input1), $algo)
$affiche = GUICtrlSetData($Edit1, $Crypt)
EndIf
Case $Dech1
$Decrypt = _Crypt_DecryptData(GUICtrlRead($Edit1), GUICtrlRead($Input1), $algo) ; Idem mais à l'envers
$affiche2 = GUICtrlSetData($Edit1, $Decrypt)
Case $Button5
Global $FilePath = FileOpenDialog("Choisissez un fichier", @DesktopDir, "Tout les fichiers (*.*)", 1) ; ouvre une fenetre pour selectionner un fichier
GUICtrlSetData($Input3, $FilePath) ; met le chemin du fichier dans l'Input3
Case $Button6
Global $SavePath = FileSaveDialog("Destination du fichier", @DesktopDir, "Tout les fichier (*.*)", 16, "")
GUICtrlSetData($Input4, $SavePath)
Case $Chif2
$LireInput3 = GUICtrlRead($Input3)
$LireInput4 = GUICtrlRead($Input4)
$LireCombo2 = GUICtrlRead($Combo2)
If $LireInput3 Or $LireInput4 = "" Then
MsgBox(16, "Manque(s) d'information(s)", "Vous devez sélectionner un fichier et sa destination...")
ElseIf $LireCombo2 = "--------" Then
MsgBox(16, "Manque d'information", "Aucun algorithme n'a été spécifié dans la liste déroulante!")
Else
$CryptFile = _Crypt_EncryptFile($FilePath, $FilePath & ".crypt", GUICtrlRead($Input2), $algo2)
EndIf
Case $Dech2
$DecryptFile = _Crypt_DecryptFile($FilePath, $FilePath & ".decrypt", GUICtrlRead($Input2), $algo2)
Case $Button9
GUICtrlSetData($Edit1, "")
GUICtrlSetData($Input1, "")
GUICtrlSetData($Combo1, "--------")
Case $Button10
GUICtrlSetData($Input2, "")
GUICtrlSetData($Input3, "")
GUICtrlSetData($Input4, "")
GUICtrlSetData($Combo2, "--------")
EndSwitch
WEnd


