Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int i, j, k, r, spr;
- char *szyfr;
- char klucz[] = "can";
- char zakodowane[999];
- char *tab_to_read;
- char **tab1;
- char *tab2;
- void f_szyfr(int z);
- void f_klucz();
- void f_reszta(int d);
- int main(){
- int dl_tekstu;
- fpos_t dl_tekstu_fpos_t;
- FILE *code_file = fopen("szyfr.txt", "r");
- if (!code_file)
- return -1;
- //////////////////////////// ustawienie wskaznika na koniec pliku + liczba bitow + ustawienie wskaznika na poczatek pliku
- fseek(code_file, 0, SEEK_END);
- fgetpos(code_file, &dl_tekstu_fpos_t);
- fseek(code_file, 0, 0);
- dl_tekstu = (int)dl_tekstu_fpos_t;
- ////////////////////////////
- ///printf("%d",dl_tekstu);
- szyfr = ((char*)malloc(dl_tekstu*(sizeof(char)) + 1));
- if (!szyfr)
- return -2;
- for (i = 0; i < dl_tekstu; i++){
- fscanf(code_file, "%s", szyfr);
- }
- for (spr = 0; spr < dl_tekstu; spr++)
- printf("%c", szyfr[i]);
- //printf("elo");
- ////////////////////////////
- f_szyfr(dl_tekstu);
- f_klucz();
- f_reszta(dl_tekstu);
- //////////////////////////// ZAPISYWANIE DO PLIKU "ZASZYFROWANE.TXT"
- FILE* zapis_szyfru;
- zapis_szyfru = fopen("zaszyfrowane.txt", "w");
- for (i = 0; i < dl_tekstu;i++)
- fprintf(zapis_szyfru, "%c", zakodowane[i] );
- ////////////////////////////
- FILE *odczyt_zaszyfrowanego_tekstu;
- odczyt_zaszyfrowanego_tekstu = fopen("zaszyfrowane.txt", "r");
- if (!odczyt_zaszyfrowanego_tekstu)
- return -3;
- ////////////////////////////
- int dl_znakow_zaszyfrowane_int;
- fpos_t dl_znakow_zaszyfrowane_fpos_t;
- fseek(odczyt_zaszyfrowanego_tekstu, 0, SEEK_END);
- fgetpos(odczyt_zaszyfrowanego_tekstu, &dl_znakow_zaszyfrowane_fpos_t);
- fseek(odczyt_zaszyfrowanego_tekstu, 0, 0);
- dl_znakow_zaszyfrowane_int = (int)dl_znakow_zaszyfrowane_fpos_t;
- ///////////////////////////
- fscanf(odczyt_zaszyfrowanego_tekstu, "%s", tab_to_read);
- tab1 = (char**)malloc(sizeof(*tab2));
- if (!tab1)
- return -4;
- ///////////////////////////////////////////////
- for (i = 2; i<10; i++) //// liczba znakow klucza
- {
- for (j = 0; j<i; j++) //// liczba tablic-polowek
- {
- tab1[j] = (char*)malloc(sizeof((dl_tekstu / 2)*sizeof(char)) + 1);
- for (k = 0; k< '\0'; k += i) ///// przypisanie wartosci co n wyrazow dla tab[j]
- tab2[j] = tab_to_read[k];
- }
- }
- ////////////////////////////
- ////////////////////////////
- free(tab1);
- fclose(odczyt_zaszyfrowanego_tekstu);
- free(szyfr);
- fclose(code_file);
- system("pause");
- return 0;
- }
- ////////////////////////////
- void f_szyfr(int z){
- int j = 97;
- printf("\n");
- printf("%s", szyfr);
- printf("dlugosc szyfru = %d\n\n", z);
- for (i = 0; i < z; i++){
- for (k = 0; k<26; k++){
- if (szyfr[i] == j)
- szyfr[i] = k;
- j++;
- }
- j = 97;
- }
- for (i = 0; i < z; i++)
- printf("%d\t", szyfr[i]);
- }
- ////////////////////////////
- void f_klucz(){
- int j = 97;
- printf("slowo szyfrujace to: %s\n", klucz);
- printf("dlugosc klucza = %d\n\n", sizeof(klucz) - 1);
- for (i = 0; i < sizeof(klucz) - 1; i++){
- for (k = 0; k<26; k++){
- if ((klucz[i] == j))
- ((klucz[i] = k));
- j++;
- }
- j = 97;
- }
- for (i = 0; i < sizeof(klucz) - 1; i++)
- printf("%d\t", klucz[i]);
- printf("//\n/end_of_klucz///\n");
- }
- ////////////////////////////
- void f_reszta(int d){
- j = 0;
- for (i = 0; i < d; i++){
- ;
- if (j == sizeof(klucz) - 1)
- j = 0;
- zakodowane[i] = ((szyfr[i] + klucz[j]) % 26);
- j++;
- }
- for (i = 0; i < d; i++)
- {
- printf("%d\t", zakodowane[i]);
- }
- for (i = 0; i < d; i++){ /// zamienia na ASCII
- j = 97;
- for (k = 0; k<26; k++){
- if (zakodowane[i] == k)
- zakodowane[i] = j;
- j++;
- }
- }
- printf("\n");
- for (i = 0; i < d; i++)
- {
- printf("%c", zakodowane[i]);
- }
- printf("\n\n\n\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement