Forum komputerowe, forum informatyczne, naprawa laptpów , forum windows, forum linux, Hardware, Overclocking,
[C++] Szyfrator Vigenere'a, odczyt i zapis do pliku - Wersja do druku

+- Forum komputerowe, forum informatyczne, naprawa laptpów , forum windows, forum linux, Hardware, Overclocking, (https://forum.pcmod.pl)
+-- Dział: Programowanie i grafika (https://forum.pcmod.pl/forum-9.html)
+--- Dział: Coding (https://forum.pcmod.pl/forum-34.html)
+--- Wątek: [C++] Szyfrator Vigenere'a, odczyt i zapis do pliku (/thread-166.html)



- Raga - 2009-01-16

Program napisany przeze mnie na prośbe kolegi na zaliczenie na studiach informatycznych.
Program pyta o ścieżke do pliku gdzie znajduje sie plik z tekstem do zaszyfrowania, pyta o nazwe pliku wynikowego i pyta o klucz jakim tekst ma być zaszyfrowany.

Kod:
#include <iostream>
#include <conio.h>

using namespace std;
char hash[255];
char plain[255];
char key[255];
char character;

FILE *IN, *OUT;
char input_filename[20];
char output_filename[20];
int i = 0;

int main(int argc, char *argv[])
{
    cout << "Podaj nazwe pliku, ktorego tresc ma zostac zaszyfrowana: " ;
    cin >> input_filename;
    
    cout<<"Podaj nazwe pliku wynikowego: ";
    cin >> output_filename;
    
    cout << "Wprowadz klucz, ktorym ma byc zaszyfrowany plik wejsciowy: ";
    cin >> key;
  
    if((IN = fopen(input_filename,"rb")) !=NULL)    
    {
     if((OUT = fopen(output_filename, "wb")) !=NULL)
     {
             while ((character = getc(IN)) != EOF)
             {
                  hash[i] = ((character + key[i % strlen(key)] - 64) % 223) + 32;
                  putc(hash[i], OUT);
                  i++;
             }  
      fclose(OUT);  
     }
     fclose(IN);  
    }      
    cout << "Zaszyfrowany tekst: " << hash << endl;
    cout << "Zapisano w pliku: " <<  input_filename;
    
    getch ();
    return EXIT_SUCCESS;
}

Jeżeli ktoś ma ochote może dopisać kilka linijek kodu, by program wykorzystywał argv[] i konwertował tekst przy przeciągnięciu pliku na program.