From e58fb770ad6891804a2b312e9b5abf26b5583391 Mon Sep 17 00:00:00 2001 From: Bucchino Geoffrey Date: Fri, 11 Mar 2022 11:17:55 +0100 Subject: [PATCH] upd project --- main | Bin 17664 -> 21240 bytes main.c | 10 +++++----- vigenere.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- vigenere.h | 2 +- 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/main b/main index 05c32531f1988efdb2c1b05546f3bc99bfe235cb..9baa1ae32f5362643fd6a11fc9a4f43cc9ceba1c 100755 GIT binary patch literal 21240 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 26); if(strcmp(hook, "crypt") == 0) - error = cryptCesar(argv[3], key, numberCharacters, buffer); + error = cryptCesar(fileSrc, key, numberCharacters, buffer); 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){ // Get key char *key = malloc(8); printf("Your key: "); scanf("%s", key); - + + if(strcmp(hook, "crypt") == 0) - error = cryptVigenere(key, argv[3], buffer); + error = cryptVigenere(key, fileSrc, numberCharacters, buffer); free(key); } diff --git a/vigenere.c b/vigenere.c index ba097d2..5b6131f 100644 --- a/vigenere.c +++ b/vigenere.c @@ -1,18 +1,64 @@ #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; 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 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; } void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]) { int i, j = 0; 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 (j = 0; j < SIZE_MATRICE_VIGENERE; j++) { if (pos > 'Z') @@ -23,4 +69,9 @@ void matriceVigenere(char matrice[][SIZE_MATRICE_VIGENERE]) { pos = 'B' + i; 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"); + } } diff --git a/vigenere.h b/vigenere.h index 8f8e0b8..9439e6c 100644 --- a/vigenere.h +++ b/vigenere.h @@ -4,7 +4,7 @@ #include "functions.h" #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]); #endif