Salut les C,
j'ai coder un programme d'effacement de fichier que je ne vais pas exhiber ici comme la dernière fois avec la réplique de la commande ls -l (j'ai suivis vos conseils d'amélioration et ajouter des trucs sympa...)
Mais la question est purement théorique:
Mon programme comprend 2 étapes et est basé sur les fonctions:
-open(), read(), write(), et (f)truncate pour le changement du contenus du fichier.
-utime() et rename() pour la modification des métadonnées.
-remove() pour l'effacement du fichier.
-> Etape 1)
-) Calcul de la taille du fichier avec read().
-) Remplacement du contenus du fichier par des caractères '\0'.
-) Ajout de caractères '\0' pour que la taille soit: ( (taille % 512) == 0 )
-) avec ftruncate().
-) Changement de l'horodatage pseudo aléatoire avec utime().
-> Etape 2) dans une boucle:
-) Appel a truncate() en divisant la taille du fichier par 2 a chaque fois.
-) Changement de l'horodatage pseudo aléatoire avec utime().
-) Renommage avec rename().
-) Jusqu'a arriver a une taille de zéro.
-) Effacement du fichier avec remove().
J'en arrive a ma question le fichier effacer comme décrit est-il retrouvable ?
Je pose cette question car je ne prétend pas savoir comment fonctionne un ordinateur nie la réponse a ma question.
Ma technique d'effacement du fichiers est-elle pertinente ?
A vous de jouer.
PS: le programme permet d'effacer des fichiers textes de plus de 1 Gio de taille.
Et si vous voulez vraiment le voir il va falloir que je le commente avant de le poster.
Merci pour vos réponses (techniques) (théoriques ?).






Répondre avec citation








Partager