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.
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.
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.
Chcesz pomóc? Wstaw jako sygnature na innym forum:
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522
Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF