How do I do "wipe" in WinNT

Wesley J Landaker wjl@mindless.com
Tue, 31 Oct 2000 00:04:05 -0700


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 30 October 2000  8:05pm, Kevin Hung wrote:

> I am using GNUPG in WinNT at work (I know that this is
> not the favorite OS for GNU people but I don't have a
> choice) and I would like to have the "wipe" feature as
> availabe in PGP or the shred command in Linux. Is
> there any similar thing like shred in NT? Thanks.
If there's not already something that does that in Windows from the command line (I know some gui utilities that do it, and of course PGP does--but this assuming you're not using PGP), this should do the trick (this does exactly what most utilities like shred do--overwrite with '1's, '0's, and random bytes. Of course, you need a better random source than "rand()" usually, but this should probably be okay anyway--heck, we're using 50 iterations!!!) #include <stdio.h> #include <stdlib.h> #include <time.h> void do_shredding(const char file[]); int main(int argc, char *argv[]) { if (argc < 2) { printf("Cheapskate-shred -- this will shred files as good as anything else...\n"); printf("Usage: %s <file> ...\n",argv[0]); return 1; } for (int i=1;i<argc;i++) { do_shredding(argv[i]); } return 0; } void do_shredding(const char file[]) { const char ones = 0xff; const char zeros = 0x00; char random; FILE *shred_me = fopen(file,"r+b"); fseek(shred_me,0,SEEK_END); int file_len = ftell(shred_me); time_t t; srand(time(&t)); // do this for 50 iterations -- plenty, probably for (int iter=0;iter<50;iter++) { // first write 1's rewind(shred_me); for (int i=0;i<file_len;i++) { fwrite(&ones,1,1,shred_me); } // then write 0's rewind(shred_me); for (int i=0;i<file_len;i++) { fwrite(&zeros,1,1,shred_me); } // then (probably pseudo-) random bytes rewind(shred_me); for (int i=0;i<file_len;i++) { random = rand(); fwrite(&random,1,1,shred_me); } } } - -- Wesley J. Landaker - wjl@mindless.com ICQ# 17241646 http://wjl.cjb.net PGP DSS/DH Key: 0x0F338E07 PGPKey FP: 3AAA 424B B488 198E B68B C0E5 390A BACA 0F33 8E07 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: See www.gnupg.org or www.pgpi.com to obtain PGP software iEYEARECAAYFAjn+bukACgkQOQq6yg8zjge8IACfcTtTZElWBPrzxXpPaNwKrEgW ml8An0huNdKM1OVewSoE7gIRTCGUFb/oiEYEARECAAYFAjn+bukACgkQOQq6yg8z jge8IACgxQi8fiCchg3Dbyr9lsHhem+EG/kAnRa/aKOYkLYS2dz1G4+YKO2WtjNz =aMYj -----END PGP SIGNATURE----- -- Archive is at http://lists.gnupg.org - Unsubscribe by sending mail with a subject of "unsubscribe" to gnupg-users-request@gnupg.org