upd project
This commit is contained in:
parent
478f35fe73
commit
e58fb770ad
BIN
main
BIN
main
Binary file not shown.
10
main.c
10
main.c
@ -81,19 +81,19 @@ int main(int argc, char *argv[]) {
|
|||||||
}while(key < 1 || key > 26);
|
}while(key < 1 || key > 26);
|
||||||
|
|
||||||
if(strcmp(hook, "crypt") == 0)
|
if(strcmp(hook, "crypt") == 0)
|
||||||
error = cryptCesar(argv[3], key, numberCharacters, buffer);
|
error = cryptCesar(fileSrc, key, numberCharacters, buffer);
|
||||||
if(strcmp(hook, "decrypt") == 0)
|
if(strcmp(hook, "decrypt") == 0)
|
||||||
error = decryptCesar(argv[3], key, numberCharacters, buffer);
|
error = decryptCesar(fileSrc, key, numberCharacters, buffer);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(strcmp(argv[1], "-v") == 0){
|
else if(strcmp(argv[1], "-v") == 0){
|
||||||
// Get key
|
// Get key
|
||||||
char *key = malloc(8);
|
char *key = malloc(8);
|
||||||
printf("Your key: ");
|
printf("Your key: ");
|
||||||
scanf("%s", key);
|
scanf("%s", key);
|
||||||
|
|
||||||
|
|
||||||
if(strcmp(hook, "crypt") == 0)
|
if(strcmp(hook, "crypt") == 0)
|
||||||
error = cryptVigenere(key, argv[3], buffer);
|
error = cryptVigenere(key, fileSrc, numberCharacters, buffer);
|
||||||
|
|
||||||
free(key);
|
free(key);
|
||||||
}
|
}
|
||||||
|
53
vigenere.c
53
vigenere.c
@ -1,18 +1,64 @@
|
|||||||
#include "vigenere.h"
|
#include "vigenere.h"
|
||||||
|
|
||||||
int cryptVigenere(const char *key, const char *data, char *bufferDst) {
|
int cryptVigenere(const char *key, const char *fileSrc, const int numberCharacters, char *bufferDst) {
|
||||||
int error = 0;
|
int error = 0;
|
||||||
char matrice[SIZE_MATRICE_VIGENERE][SIZE_MATRICE_VIGENERE];
|
char matrice[SIZE_MATRICE_VIGENERE][SIZE_MATRICE_VIGENERE];
|
||||||
|
char *data = malloc(sizeof(char) * numberCharacters);
|
||||||
|
char *dataVigenere = NULL;
|
||||||
|
char c = 0;
|
||||||
|
int pos = 0;
|
||||||
|
size_t i, j = 0;
|
||||||
|
size_t keyLength = strlen(key);
|
||||||
|
|
||||||
// Init the Vigenere matrice
|
// Init the Vigenere matrice
|
||||||
matriceVigenere(matrice);
|
matriceVigenere(matrice);
|
||||||
|
|
||||||
|
if (data == NULL) return -1;
|
||||||
|
memset(data, 0, numberCharacters);
|
||||||
|
|
||||||
|
error = copyFile(fileSrc, data);
|
||||||
|
|
||||||
|
dataVigenere = malloc(strlen(data));
|
||||||
|
if (dataVigenere == NULL) return -1;
|
||||||
|
|
||||||
|
memset(dataVigenere, 0, numberCharacters);
|
||||||
|
|
||||||
|
// Fill the dataVigenere with the key
|
||||||
|
for (i = 0; i < strlen(data); i++){
|
||||||
|
if (data[i] == '\n' || data[i] == ' ')
|
||||||
|
dataVigenere[i] = data[i];
|
||||||
|
else
|
||||||
|
dataVigenere[i] = key[j++];
|
||||||
|
|
||||||
|
if (j == keyLength)
|
||||||
|
j = 0;
|
||||||
|
}
|
||||||
|
dataVigenere[pos - 1] = '\0';
|
||||||
|
|
||||||
|
printf("%s\n", data);
|
||||||
|
printf("%s\n", dataVigenere);
|
||||||
|
/*do {
|
||||||
|
c = data[pos++];
|
||||||
|
printf("%c", c);
|
||||||
|
if (c == '\n') {}
|
||||||
|
}while (c != '\0');*/
|
||||||
|
|
||||||
|
/* Encrypt the data */
|
||||||
|
/*for (i = 0; i < strlen(data); i++) {
|
||||||
|
printf("%c", matrice[data[i]][dataVigenere[i]]);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
free(dataVigenere);
|
||||||
|
free(data);
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]) {
|
void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]) {
|
||||||
int i, j = 0;
|
int i, j = 0;
|
||||||
char pos, pos2 = 'A';
|
char pos, pos2 = 'A';
|
||||||
|
|
||||||
|
//for (i = 0; i < SIZE_MATRICE_VIGENERE; i++)
|
||||||
|
// matrice[0][i] = 'A' + i;
|
||||||
|
|
||||||
for (i = 0; i < SIZE_MATRICE_VIGENERE; i++) {
|
for (i = 0; i < SIZE_MATRICE_VIGENERE; i++) {
|
||||||
for (j = 0; j < SIZE_MATRICE_VIGENERE; j++) {
|
for (j = 0; j < SIZE_MATRICE_VIGENERE; j++) {
|
||||||
if (pos > 'Z')
|
if (pos > 'Z')
|
||||||
@ -23,4 +69,9 @@ void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]) {
|
|||||||
pos = 'B' + i;
|
pos = 'B' + i;
|
||||||
pos2 = 'A';
|
pos2 = 'A';
|
||||||
}
|
}
|
||||||
|
for (i = 0; i < SIZE_MATRICE_VIGENERE; i++) {
|
||||||
|
for (j = 0; j < SIZE_MATRICE_VIGENERE; j++)
|
||||||
|
printf("%c ", matrice[i][j]);
|
||||||
|
printf("f\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#define SIZE_MATRICE_VIGENERE 26
|
#define SIZE_MATRICE_VIGENERE 26
|
||||||
|
|
||||||
int cryptVigenere(const char *key, const char *data, char *bufferDst);
|
int cryptVigenere(const char *key, const char *fileSrc, const int numberCharacters, char *bufferDst);
|
||||||
void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]);
|
void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user