[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 : 475
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par Boulanza le ven. 05 juil. 2019 22:11, modifié 1 fois.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 810
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

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

#2

Message 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:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)

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

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

#3

Message 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.

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

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

#4

Message 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."

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

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

#5

Message 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)

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 810
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

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

#6

Message par walkson »

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

Répondre