|
| Tester si un fichier est crypté ou pas |
| Iniciado por alain.defonpre, 19,feb. 2019 14:46 - 4 respuestas |
| |
| | | |
|
| |
| Publicado el 19,febrero 2019 - 14:46 |
Bonjour à tous,
Pour mes fichiers externes je sais utiliser les fonctions fCrypte(...) et fDéCrypte(...), pas de soucis. On peut tester au moment du cryptage ou du décryptage si l'opération c'est bien déroulée, pas de soucis également.
Mais par contre par la suite, comment peut on tester l'état d'un fichier, est t'il crypté ou pas, comment faire, je n'ai pas trouvé. En fait c'est pour éviter de crypter deux fois de suite un même fichier car sinon il n'est plus "décryptable" et ce même avec le bon mot de passe...
Une idée ? D'avance merci de vos réponses.
Alain |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.640 mensajes |
|
| Publicado el 19,febrero 2019 - 15:40 |
Salut,
J'avais pris l'habitude de rajouter un marqueur a l’intérieur de chaque fichier. Je rajoutais par exemple une séquence de 10 octets a la fin de chaque fichier crypté. Cette séquence est bien-sur toujours la même.
ainsi, avant de crypter un fichier, il me suffisait de verifier les 10 derniers octets, si ils correspondait a ma séquence, je savais que le fichier était déjà crypté.
Bien sur du coup, avant de décrypter, je retirais les 10 derniers octets, pour retrouver mon fichier crypté d'origine.
1) Buffer = Récupération des 10 derniers octets du fichiers 2) SI Buffer <> Clé (Fichier non crypté) 3) Cryptage du fichier 4) Ajout de la clé sur 10 octets a la fin du fichier crypté. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 19,febrero 2019 - 17:57 |
François merci de votre réponse.
Mais je vois pas bien comment votre procédure fonctionne. Notamment comment se passe l'ajout et la suppression de la séquence des 10 octets, auriez-vous un "bout de code" svp.
En fait je crée et protège les fichiers de bases de données aux formats fichier/extension propre à mon soft en les cryptant en dehors de ce dernier. Puis elles intègrent mon soft, qui lui pour les exploiter, les décryptent/ouvrent, les lis, les referment/recryptent.
C'est donc au moment ou le fichier BDD va être "Recryptées" que je souhaite le tester et ce pour ne pas le rendre par erreur illisible.
Alain |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.640 mensajes |
|
| Publicado el 20,febrero 2019 - 10:11 |
voici un petit exemple :
Procedure CrypteFichier(sCheminComplet est une chaîne) gbufCleCryptage est un buffer = "TaCleDeCryptage" soit buf = fChargeBuffer(sCheminComplet) soit nTaille = Taille(buf) SI nTaille > 0 ALORS SI BufferVersEntier(buf[[nTaille-4 À]]) = 560354815 ALORS bufNewbuf est un Buffer = buf[[1 À nTaille-5]] bufNewbuf = DécrypteStandard(bufNewbuf,gbufCleCryptage) fSupprime(sCheminComplet) fSauveBuffer(sCheminComplet,bufNewbuf) SINON bufNewbuf est un Buffer = buf bufNewbuf = CrypteStandard(bufNewbuf,gbufCleCryptage) bufNewbuf+= 0x216655FF (= 560354815) fSupprime(sCheminComplet) fSauveBuffer(sCheminComplet,bufNewbuf) FIN FIN
A adapter suivant tes besoin. C'est un vieux de bout de code mal optimisé. Pour le coup ya que 4 octetsMensaje modificado, 20,febrero 2019 - 10:14 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 20,febrero 2019 - 13:05 |
Merci François,
Je vais l'essayer en l'adaptant bien sûr.
Encore merci
Alain |
| |
| |
| | | |
|
| | | | |
| | |
|