Page 1 sur 1

[R] Cryptage...

Posté : lun. 05 août 2013 15:14
par Ks10
Bonjour à tous !

J'ai besoin de crypter un fichier dans mon programme, j'arrive bien à crypter mais lorsque je décrypte mon fichier rien ne se passe... Enfin si mais pas comme je le souhaite.

Voici mon code :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include "Crypt.au3"
#Region ### START Koda GUI section ### Form=

Global $bAlgorithm = $CALG_RC4
Global $passcrypt = "mico"
Global $Form1 = GUICreate("**********", 501, 348, -1, -1)
Global $Button1 = GUICtrlCreateButton("Crypt file", 152, 136, 203, 25)
Global $button2 = GuiCtrlCreateButton("Decrypt File", 152, 186, 203, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg

    Case $Button1
        MsgBox(64, "Informations", "Début cryptage")
        $file = _FileCreate(@ScriptDir & "\data.crpt")
        $pfile = FileOpen(@ScriptDir & "\data.crpt", 1)
        FileWriteLine($pfile, "Bonjour, test test test test test test test test test test test test test test")
        _Crypt_EncryptFile(@ScriptDir & "\data.crpt", @ScriptDir & "\data.crpt", $passcrypt, $bAlgorithm)
        MsgBox(64, "Informations", "Fin cryptage")


    Case $button2
        MsgBox(64, "Informations", "Début décryptage")
        $pfile = FileOpen(@ScriptDir & "\data.crpt", 1)
        _Crypt_DecryptFile(@ScriptDir & "\data.crpt", @ScriptDir & "\data.crpt", $passcrypt, $bAlgorithm)
        MsgBox(64, "Informations", "Fin décryptage")


  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
Je pense que le problème viendrait de l'algorithme lors du décryptage.
Il faudrait peut être utiliser quelque chose d'autres pour retrouver mon fichier à l'état initiale ? C'est à dire une langue française lol...

Merci à tous ! Bon codage :)

Re: [..] Cryptage...

Posté : lun. 05 août 2013 16:24
par mikell
Je suis pas sûr qu'utiliser le même fichier comme source et destination soit une bonne idée

Code : Tout sélectionner

    Case $Button1
        $file = @ScriptDir & "\data.crpt"
        FileWrite($file, "Bonjour, test test test test test test test test test test test test test test")
        _Crypt_EncryptFile(@ScriptDir & "\data.crpt", @ScriptDir & "\data2.crpt", $passcrypt, $bAlgorithm)

    Case $button2
        _Crypt_DecryptFile(@ScriptDir & "\data2.crpt", @ScriptDir & "\data3.crpt", $passcrypt, $bAlgorithm)

Re: [..] Cryptage...

Posté : lun. 05 août 2013 18:06
par Ks10
Arf c'est pas chouette sa =/ ça complique mes plans x)

Je t'explique :
- Dans mon programme : L'utilisateur entre des données , il crée une fiche, quand cette fiche est crée elle est sous cette forme : blablabla_blabla_blabla_blabla.monfichier.
- Je souhaiterais crypter le fichier lors de sa création.
- Et quand l'utilisateur ouvre ce fichier, il se décrypte pour pouvoir être lisible mais l'idéal serait qu'il ne change pas de nom x)

Il y a possibilité tu pense ?

Re: [..] Cryptage...

Posté : lun. 05 août 2013 18:23
par matwachich
Bah oué, crypter/décrypter dans un fichier temporaire, puis écraser l'original (après s'être assurer que le décryptage est bon hein, sinon perte de données!) :wink:

Re: [..] Cryptage...

Posté : lun. 05 août 2013 19:14
par Ks10
D'accord matwa, je fait des tests :)

Ps : J'ai tester le code de Mikell, il fonctionne je retrouve le contenu de mon fichier sauf que le fichier pèse 326ko alors qu'il pesait 1ko... C'est pas normal je suppose ? x)