Update polybius
This commit is contained in:
parent
3a2e110ad2
commit
e3cde4be54
10
src/main.c
10
src/main.c
@ -102,6 +102,7 @@ int main(int argc, char *argv[]) {
|
|||||||
// Polybius square
|
// Polybius square
|
||||||
else if(strcmp(argv[1], "-s") == 0){
|
else if(strcmp(argv[1], "-s") == 0){
|
||||||
char key[26];
|
char key[26];
|
||||||
|
int res;
|
||||||
|
|
||||||
printf("Your key: ");
|
printf("Your key: ");
|
||||||
scanf("%s", key);
|
scanf("%s", key);
|
||||||
@ -112,9 +113,12 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(hook, "crypt") == 0)
|
if(strcmp(hook, "crypt") == 0)
|
||||||
cryptPolybius(fileSrc, fileDst, key);
|
res = cryptPolybius(fileSrc, fileDst, key);
|
||||||
else
|
else
|
||||||
decryptPolybius(fileSrc, fileDst, key);
|
res = decryptPolybius(fileSrc, fileDst, key);
|
||||||
|
|
||||||
|
if (res != 0)
|
||||||
|
printf("Failed to crypt/decrypt the file\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Display error */
|
/* Display error */
|
||||||
@ -125,7 +129,5 @@ int main(int argc, char *argv[]) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
free(fileDst);
|
free(fileDst);
|
||||||
//free(buffer);
|
|
||||||
//free(data);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -42,8 +42,10 @@ int cryptPolybius(const char *filenameSrc, const char *filenameDst, const char *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (c == '\n')
|
if (c == '\n' || c == ' '){
|
||||||
fputc('\n', fDst);
|
fputc(c, fDst);
|
||||||
|
fputc(0, fDst); // For having a couple of number
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
@ -62,7 +64,6 @@ int decryptPolybius(const char *filenameSrc, const char *filenameDst, const char
|
|||||||
char data[BUFFER_SIZE];
|
char data[BUFFER_SIZE];
|
||||||
char dataEncrypted[BUFFER_SIZE];
|
char dataEncrypted[BUFFER_SIZE];
|
||||||
int size = 0, end = 0, i = 0, j = 0;
|
int size = 0, end = 0, i = 0, j = 0;
|
||||||
char c = 0;
|
|
||||||
|
|
||||||
generateSquarePolybius(polybius, key);
|
generateSquarePolybius(polybius, key);
|
||||||
|
|
||||||
@ -85,17 +86,17 @@ int decryptPolybius(const char *filenameSrc, const char *filenameDst, const char
|
|||||||
|
|
||||||
/********* Decryption **********/
|
/********* Decryption **********/
|
||||||
for (i = 0; i < size; i += 2){
|
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 c1 = data[i] - '0';
|
||||||
int c2 = data[i+1] - '0';
|
int c2 = data[i+1] - '0';
|
||||||
char c = polybius[c1][c2];
|
char c = polybius[c1][c2];
|
||||||
//printf("%d%d ", c1, c2);
|
|
||||||
//printf("%d ", c1);
|
|
||||||
printf("%c", c);
|
printf("%c", c);
|
||||||
//printf("%c", data[i]);
|
fputc(c, fDst);
|
||||||
}
|
}
|
||||||
else
|
else{
|
||||||
printf("%c", data[i]);
|
printf("%c", data[i]);
|
||||||
|
fputc(data[i], fDst);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user