TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
12345
6789101112
13141516171819
20212223242526
272829

Mailinizi ekleyin
Haberlere abone olun:

anket: Sayfamızda En çok hangi bölüm ilginizi çekmekte
Sayfamızda En çok hangi bölüm yani programlama dili ve makaleleri ilginizi çekmekte?
PHP
C / C++ / C#
Asp ve .NET
JS / Ajax / DHTML /HTML
SQL
Visual Basic
Güvenlik
Action Script
Diğer
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

Basit Bir Dosya Şifreleme Programı

by mustafa bas on Temmuz 24,2007

image

Aşağıdaki program (enc.c) komut satırından çalışan bir dosya şifreleme programıdır. Program komut satırından aşağıdaki gibi çalıştırılmalıdır. enc deneme.exe 3456 deneme.exe şifrelenecek dosyanın ismi ve 3456 da şifrelemede kullanılacak anahtar değeridir.
Şifrelenen programı açmak için program komut satırından tekrar aynı anahtar değeriyle çalıştırılmalıdır. enc deneme.exe 3456 Şifrelemede rasgele sayı üretimi ve bitsel özel veya işleminden faydalanılmıştır ve program içinde yalnızca standart C işlevleri çağırılmıştır.

 

#include 
#include 
#include 

#define      MAX_FILE_NAME_LEN      80

int main(int argc, char **argv)
{
   char source_file_name[MAX_FILE_NAME_LEN + 1];
   char dest_file_name[L_tmpnam];
   int key, ch;
   FILE *fsource, *fdest;

   if (argc != 2) {
      printf("sifrelenecek dosyanin ismini giriniz : ");
      gets(source_file_name); 
      printf("anahtar degerini giriniz : ");
      scanf("%d", &key);
   }
   else {
      strcpy(source_file_name, argv[1]);
      key = atoi(argv[2]);
   }

   tmpnam(dest_file_name);

   fsource = fopen(source_file_name, "rb");
   if (fsource == NULL) {
      fprintf(stderr, "%s dosyasi acilamiyor!n", source_file_name);
      exit(EXIT_FAILURE);
   }

   fdest = fopen(dest_file_name, "wb");
   if (fdest == NULL) {
      fprintf(stderr, "%s dosyasi yaratilamiyor!n", source_file_name);
      fclose(fsource);
      exit(EXIT_FAILURE);
   }
   
   srand(key);

   while ((ch = fgetc(fsource)) != EOF)
      fputc(ch ^ rand(), fdest);

   fclose(fsource);
   fclose(fdest);

   remove(source_file_name);
   rename(dest_file_name, source_file_name);

   return 0;
}

 


589 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00 (Toplam 57 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar