104 lines
2.0 KiB
C
Executable File
104 lines
2.0 KiB
C
Executable File
#include "functions.h"
|
|
|
|
void usage() {
|
|
printf("Usage: [options] [crypt|decrypt] [file]\n");
|
|
printf("Options:\n");
|
|
printf("\t-c: Caesar cipher\n");
|
|
printf("\t-v: Vigenere cipher\n");
|
|
printf("\t-t: Transposition cipher\n");
|
|
}
|
|
int fileExist(const char *path) {
|
|
FILE *f=NULL;
|
|
f=fopen(path,"r");
|
|
|
|
if(f==NULL){
|
|
return -1;
|
|
}
|
|
fclose(f);
|
|
return 0;
|
|
}
|
|
/*
|
|
path -> path source
|
|
This function copy all characters of the file in the buffer
|
|
*/
|
|
int copyFile(const char *path, char *buffer) {
|
|
FILE *f = fopen(path, "r+");
|
|
int caract = 0;
|
|
int i = 0;
|
|
|
|
if(f == NULL) return -1;
|
|
|
|
/* Copy the characters */
|
|
do {
|
|
caract = fgetc(f);
|
|
buffer[i] = caract;
|
|
i++;
|
|
}while(caract != EOF);
|
|
|
|
/* add '\0' */
|
|
buffer[i-1] = '\0';
|
|
|
|
fclose(f);
|
|
|
|
return 0;
|
|
}
|
|
/*
|
|
s -> path source
|
|
This function count the number of characters in the file
|
|
return -1 -> error
|
|
*/
|
|
int fileNumberCaract(const char *s) {
|
|
FILE *f = NULL;
|
|
int count = 0;
|
|
|
|
f = fopen(s, "r+");
|
|
if(f == NULL) return -1;
|
|
|
|
/* Read character by character */
|
|
while(fgetc(f) != EOF)
|
|
count++;
|
|
|
|
fclose(f);
|
|
|
|
return count;
|
|
}
|
|
/*
|
|
data -> data add in the file
|
|
path ->path of the file
|
|
This function add the data to file
|
|
error : -2 -> impossible to open the file dest
|
|
*/
|
|
int addDataToFile(const char *data, const char *path) {
|
|
FILE *f = fopen(path, "w+");
|
|
|
|
if(f == NULL) return -2;
|
|
|
|
fputs(data, f);
|
|
|
|
fclose(f);
|
|
|
|
return 0;
|
|
}
|
|
/*
|
|
This function display the error
|
|
Error :
|
|
0 -> no error for encryption
|
|
1 -> no error for decryption
|
|
-1 -> impossible to open the file source
|
|
-2 -> impossible to open the file dest
|
|
*/
|
|
void err(const int error, const char *path) {
|
|
switch(error) {
|
|
case 0 :
|
|
printf("Vos donnees ont bien etait crypter ou decrypter dans le fichier %s.\n", path);
|
|
break;
|
|
case -1 :
|
|
printf("Une erreur s'est produite durant l'ouverture du fichier %s\n", path);
|
|
break;
|
|
case -2 :
|
|
printf("Une erreur s'est produite durant l'ouverture du fichier %s\n", path);
|
|
default:
|
|
break;
|
|
}
|
|
}
|