Update polybius

This commit is contained in:
geoffrey 2024-10-01 20:01:09 +02:00
parent 3a2e110ad2
commit e3cde4be54
2 changed files with 15 additions and 12 deletions

@ -102,6 +102,7 @@ int main(int argc, char *argv[]) {
// Polybius square
else if(strcmp(argv[1], "-s") == 0){
char key[26];
int res;
printf("Your key: ");
scanf("%s", key);
@ -112,9 +113,12 @@ int main(int argc, char *argv[]) {
}
if(strcmp(hook, "crypt") == 0)
cryptPolybius(fileSrc, fileDst, key);
res = cryptPolybius(fileSrc, fileDst, key);
else
decryptPolybius(fileSrc, fileDst, key);
res = decryptPolybius(fileSrc, fileDst, key);
if (res != 0)
printf("Failed to crypt/decrypt the file\n");
}
/* Display error */
@ -125,7 +129,5 @@ int main(int argc, char *argv[]) {
*/
free(fileDst);
//free(buffer);
//free(data);
return 0;
}

@ -42,8 +42,10 @@ int cryptPolybius(const char *filenameSrc, const char *filenameDst, const char *
}
}
}
if (c == '\n')
fputc('\n', fDst);
if (c == '\n' || c == ' '){
fputc(c, fDst);
fputc(0, fDst); // For having a couple of number
}
}
size = 0;
@ -62,7 +64,6 @@ int decryptPolybius(const char *filenameSrc, const char *filenameDst, const char
char data[BUFFER_SIZE];
char dataEncrypted[BUFFER_SIZE];
int size = 0, end = 0, i = 0, j = 0;
char c = 0;
generateSquarePolybius(polybius, key);
@ -85,17 +86,17 @@ int decryptPolybius(const char *filenameSrc, const char *filenameDst, const char
/********* Decryption **********/
for (i = 0; i < size; i += 2){
if (data[i] >= 0 && data[i] <= POLYBIUS_SIZE) {
if (data[i] >= 48 && data[i] <= 53) {
int c1 = data[i] - '0';
int c2 = data[i+1] - '0';
char c = polybius[c1][c2];
//printf("%d%d ", c1, c2);
//printf("%d ", c1);
printf("%c", c);
//printf("%c", data[i]);
fputc(c, fDst);
}
else
else{
printf("%c", data[i]);
fputc(data[i], fDst);
}
}
size = 0;