szyfrator[ANSI C]

a tutaj prosty przykład szyfratora z użyciem XOR. zaczerpnięte z KLIK 
i nieco zmienione przeze mnie. Poniżej kod mój i skopiowany z tamtego bloga (w drugiej wklejce).
klik:


Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7. char znak;
  8. char znak_2;
  9. FILE *pl,*pl2;
  10. pl=fopen("plik.txt","r");
  11. pl2=fopen("zakodowany.txt","w");
  12. if(pl==NULL){
  13. printf("Plik pusty\n");
  14. }
  15. else{
  16.  
  17.  
  18. while((znak=fgetc(pl))!=EOF)
  19. {
  20.  
  21. znak_2= (znak);
  22. znak_2=znak_2^znak_2;
  23. fprintf(pl2,"%c",znak_2);
  24.  
  25. }
  26. }
  27.  
  28.  
  29. }

oczywiście by odszyfrować tekst, trzeba wrzucić jeszcze jednego XORa.



a tu już oryginalny kod, z przesunięciem bitowym, do którego nie chce mi sie kołować deszyfratora.

Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7. char znak;
  8. char znak_2;
  9. FILE *pl,*pl2;
  10. pl=fopen("plik.txt","r");
  11. pl2=fopen("zakodowany.txt","w");
  12. if(pl==NULL){
  13. printf("Plik pusty\n");
  14. }
  15. else{
  16.  
  17.  
  18. while((znak=fgetc(pl))!=EOF)
  19. {
  20.  
  21. znak_2= (znak);
  22. znak_2=znak_2^(znak>>1);
  23. fprintf(pl2,"%c",znak_2);
  24.  
  25. }
  26. }
  27.  
  28.  
  29. }

Komentarze

Popularne posty z tego bloga

[c++] Lista wskaznikowa

[c++] słowniki - haszowanie - haszowanie otwarte

[ANSI C][LINUX] Wysyłanie i obsługa sygnałów