Page 1 sur 1

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

Posté : ven. 05 juil. 2019 13:25
par Boulanza
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

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

Posté : ven. 05 juil. 2019 15:02
par walkson
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:

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

Posté : ven. 05 juil. 2019 16:15
par Boulanza
Merci walkson pour votre aide. Voici le résultat du test de votre code:
Mesage : "Erreur", "Le fichier codé n'existe pas
Cordialement.

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

Posté : ven. 05 juil. 2019 16:22
par Boulanza
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."

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

Posté : ven. 05 juil. 2019 16:53
par Boulanza
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)

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

Posté : ven. 05 juil. 2019 17:01
par walkson
Normal puisque FileFindNextFile() donne le nom du fichier mais pas son chemin....