[R] Broblème de code pour décrypter fichier.in

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 7
Niveau 7
Messages : 444
Enregistré le : mer. 31 juil. 2013 14:49
Status : Hors ligne

[R] Broblème de code pour décrypter fichier.in

#1

Message par Boulanza » ven. 05 juil. 2019 12:25

Bonjour,
Je cherche la raison qui bloque le décryptage du fichier .in du code ci-dessous.
Merci pour votre aide.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include "Crypt.au3"
DecryptFile()
Func DecryptFile()

Global $bAlgorithm = $CALG_RC4
Global $passcrypt = "123456789"
$search = FileFindFirstFile(@ScriptDir & "\test\*.ini")
   Global $file = FileFindNextFile($search) ; sans problème le fichier est trouvé.
  MsgBox(0, "Fichier:", $file); résultat ok
         _Crypt_DecryptFile($file, @ScriptDir & "\Result.ini", $passcrypt, $bAlgorithm)

EndFunc
Modifié en dernier par Boulanza le ven. 05 juil. 2019 21:11, modifié 1 fois.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 731
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

Re: [..] Broblème de code pour décrypter fichier.in

#2

Message par walkson » ven. 05 juil. 2019 14:02

Bonjour,
Testez le code ci dessous
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Crypt.au3>
#include <MsgBoxConstants.au3>

Global $bAlgorithm = $CALG_RC4
Global $passcrypt = "123456789"
Local $search = FileFindFirstFile(@ScriptDir & "\test\*.ini")
Global $file = FileFindNextFile($search) ; sans problème le fichier est trouvé.(Le chemin ?)
  MsgBox(0, "Fichier:", $file); résultat ok
DecryptFile($passcrypt, $bAlgorithm, $file)

Func DecryptFile($passcrypt, $bAlgorithm, $file)

        If FileExists($file) Then
         _Crypt_DecryptFile($file, @ScriptDir & "\Result.ini", $passcrypt, $bAlgorithm)
                 If @error Then
                        Switch @error
                            Case 2
                                MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible d'ouvrir le fichier source.")
                            Case 3
                                MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible d'ouvrir le fichier de destination.")
                            Case 30
                                MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible de créer la clé.")

                            Case 400 Or 500
                                MsgBox($MB_SYSTEMMODAL, "Erreur", "Erreur de déchiffrement.")
                            Case Else
                                MsgBox($MB_SYSTEMMODAL, "Error", "Unexpected @error = " & @error)
                        EndSwitch
                 EndIf
        Else
                 MsgBox($MB_SYSTEMMODAL, "Erreur", "Le fichier codé n'existe pas")
        EndIf

EndFunc
Vive la gestion d'erreurs :mrgreen:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi

Boulanza
Niveau 7
Niveau 7
Messages : 444
Enregistré le : mer. 31 juil. 2013 14:49
Status : Hors ligne

Re: [..] Broblème de code pour décrypter fichier.in

#3

Message par Boulanza » ven. 05 juil. 2019 15:15

Merci walkson pour votre aide. Voici le résultat du test de votre code:
Mesage : "Erreur", "Le fichier codé n'existe pas
Cordialement.

Boulanza
Niveau 7
Niveau 7
Messages : 444
Enregistré le : mer. 31 juil. 2013 14:49
Status : Hors ligne

Re: [..] Broblème de code pour décrypter fichier.in

#4

Message par Boulanza » ven. 05 juil. 2019 15:22

Une petite remarque:
lorsque je pose la question suivante If not FileExists($file) Then j’obtiens le message de Case 2: "Impossible d'ouvrir le fichier source."

Boulanza
Niveau 7
Niveau 7
Messages : 444
Enregistré le : mer. 31 juil. 2013 14:49
Status : Hors ligne

Re: [..] Broblème de code pour décrypter fichier.in

#5

Message par Boulanza » ven. 05 juil. 2019 15:53

le code a marché en ajoutant les conditions suivantes:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Crypt.au3>
#include <MsgBoxConstants.au3>

Global $bAlgorithm = $CALG_RC4
Global $passcrypt = "123456789"
$search = FileFindFirstFile(@ScriptDir & "\test\*.ini")
   Global $file = FileFindNextFile($search)
   MsgBox(0, "Fichier:", $file)
Local $chaine = $file
Msgbox(0,"trouvé", $chaine)
 _Crypt_DecryptFile(@ScriptDir & "\test\"&$chaine, @ScriptDir & "\Result.ini", $passcrypt, $bAlgorithm)

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 731
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

Re: [..] Broblème de code pour décrypter fichier.in

#6

Message par walkson » ven. 05 juil. 2019 16:01

Normal puisque FileFindNextFile() donne le nom du fichier mais pas son chemin....
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi

Répondre