added length to why2_output_flags

This commit is contained in:
Václav Šmejkal 2025-02-02 15:11:56 +01:00
parent 4c7100760b
commit 2649709c41
Signed by: ENGO150
GPG Key ID: 4A57E86482968843
4 changed files with 20 additions and 11 deletions

View File

@ -87,6 +87,7 @@ typedef struct
typedef struct typedef struct
{ {
char *output_text; //VARIABLE FOR ENCRYPTED/DECRYPTED TEXT char *output_text; //VARIABLE FOR ENCRYPTED/DECRYPTED TEXT
unsigned long output_text_length; //LENGTH OF ENCRYPTED/DECRYPTED TEXT
char *used_key; //VARIABLE FOR USED/GENERATED KEY char *used_key; //VARIABLE FOR USED/GENERATED KEY
unsigned long unused_key_size; //VARIABLE FOR COUNT OF WHY2_UNUSED CHARACTERS IN KEY unsigned long unused_key_size; //VARIABLE FOR COUNT OF WHY2_UNUSED CHARACTERS IN KEY
unsigned long repeated_key_size; //VARIABLE FOR COUNT OF REPEATED CHARACTERS IN KEY (basically reversed unused_key_size) unsigned long repeated_key_size; //VARIABLE FOR COUNT OF REPEATED CHARACTERS IN KEY (basically reversed unused_key_size)

View File

@ -70,6 +70,7 @@ why2_output_flags why2_decrypt_text(char *text, char *key)
char *key_new = why2_strdup(key); //COPY key TO key_new char *key_new = why2_strdup(key); //COPY key TO key_new
int *encrypted_text_key_chain; int *encrypted_text_key_chain;
char *used_text = NULL; //COPY text TO used_text char *used_text = NULL; //COPY text TO used_text
unsigned long returning_len = 0;
if (why2_get_flags().format == WHY2_OUTPUT_BYTE) if (why2_get_flags().format == WHY2_OUTPUT_BYTE)
{ {
@ -122,7 +123,8 @@ why2_output_flags why2_decrypt_text(char *text, char *key)
} }
//SET LENGTH (number_buffer) //SET LENGTH (number_buffer)
returning_text = why2_calloc(number_buffer + 1, sizeof(char)); returning_len = number_buffer + 1;
returning_text = why2_calloc(returning_len, sizeof(char));
text_key_chain = why2_malloc(sizeof(int) * number_buffer); text_key_chain = why2_malloc(sizeof(int) * number_buffer);
encrypted_text_key_chain = why2_malloc(sizeof(int) * number_buffer); encrypted_text_key_chain = why2_malloc(sizeof(int) * number_buffer);
text_key_chainLength = number_buffer; text_key_chainLength = number_buffer;
@ -213,7 +215,8 @@ why2_output_flags why2_decrypt_text(char *text, char *key)
} }
//PUT PADDED TEXT INTO text_new //PUT PADDED TEXT INTO text_new
returning_text = why2_recalloc(returning_text, why2_list_get_size(&split_text) + 1, sizeof(char)); returning_len = why2_list_get_size(&split_text) + 1;
returning_text = why2_recalloc(returning_text, returning_len, sizeof(char));
why2_node_t *buffer = split_text.head; why2_node_t *buffer = split_text.head;
why2_node_t *buffer_2; why2_node_t *buffer_2;
unsigned long index_buffer = 0; unsigned long index_buffer = 0;
@ -237,6 +240,7 @@ why2_output_flags why2_decrypt_text(char *text, char *key)
why2_output_flags output = why2_output_flags output =
{ {
returning_text, //DECRYPTED TEXT returning_text, //DECRYPTED TEXT
returning_len, //LENGTH
key_new, //USED KEY key_new, //USED KEY
why2_count_unused_key_size(returning_text, key_new), // NUMBER OF WHY2_UNUSED CHARS IN KEY why2_count_unused_key_size(returning_text, key_new), // NUMBER OF WHY2_UNUSED CHARS IN KEY
why2_count_repeated_key_size(returning_text, key_new), //NUMBER OF REPEATED CHARS IN KEY why2_count_repeated_key_size(returning_text, key_new), //NUMBER OF REPEATED CHARS IN KEY

View File

@ -61,6 +61,7 @@ why2_output_flags why2_encrypt_text(char *text, char *key)
char *text_buffer = NULL; char *text_buffer = NULL;
int *text_key_chain; int *text_key_chain;
int number_buffer = 0; int number_buffer = 0;
unsigned long returning_len = 0;
if (key != NULL) if (key != NULL)
{ {
@ -149,7 +150,8 @@ why2_output_flags why2_encrypt_text(char *text, char *key)
} }
//ALLOCATE returning_text (WITH THE SEPARATORS) //ALLOCATE returning_text (WITH THE SEPARATORS)
returning_text = why2_calloc(number_buffer + strlen(text_new), sizeof(char)); returning_len = number_buffer + strlen(text_new);
returning_text = why2_calloc(returning_len, sizeof(char));
//LOAD returning_text //LOAD returning_text
for (int i = 0; i < (int) strlen(text_new); i++) for (int i = 0; i < (int) strlen(text_new); i++)
@ -171,7 +173,8 @@ why2_output_flags why2_encrypt_text(char *text, char *key)
{ {
number_buffer = (strlen(text_new) + 1) * 2; //EACH CHARACTER WILL BE SPLIT INTO TWO CHARS AND FIRST TWO WILL BE LENGTH OF text_new number_buffer = (strlen(text_new) + 1) * 2; //EACH CHARACTER WILL BE SPLIT INTO TWO CHARS AND FIRST TWO WILL BE LENGTH OF text_new
returning_text = why2_calloc(number_buffer + 1, sizeof(char)); //ALLOCATE returning_len = number_buffer + 1;
returning_text = why2_calloc(returning_len, sizeof(char)); //ALLOCATE
//SET LENGTH //SET LENGTH
returning_text[0] = (strlen(text_new) & 0x7f) + 1; //+1 BECAUSE WE DON'T WANT \0 returning_text[0] = (strlen(text_new) & 0x7f) + 1; //+1 BECAUSE WE DON'T WANT \0
@ -199,6 +202,7 @@ why2_output_flags why2_encrypt_text(char *text, char *key)
why2_output_flags output = why2_output_flags output =
{ {
returning_text, //ENCRYPTED TEXT returning_text, //ENCRYPTED TEXT
returning_len, //LENGTH
key_new, //GENERATED/USED KEY key_new, //GENERATED/USED KEY
why2_count_unused_key_size(text_new, key_new), // NUMBER OF WHY2_UNUSED CHARS IN KEY why2_count_unused_key_size(text_new, key_new), // NUMBER OF WHY2_UNUSED CHARS IN KEY
why2_count_repeated_key_size(text_new, key_new), //NUMBER OF REPEATED CHARS IN KEY why2_count_repeated_key_size(text_new, key_new), //NUMBER OF REPEATED CHARS IN KEY

View File

@ -74,17 +74,17 @@ why2_input_flags why2_get_flags(void)
why2_output_flags why2_no_output(enum WHY2_EXIT_CODES exit_code) why2_output_flags why2_no_output(enum WHY2_EXIT_CODES exit_code)
{ {
char *emptyText = why2_malloc(1); //TEXT char *empty_text = why2_malloc(1); //TEXT
emptyText[0] = '\0'; empty_text[0] = '\0';
char *emptyKey = why2_malloc(why2_get_key_length() + 1); //KEY char *empty_key = why2_malloc(why2_get_key_length() + 1); //KEY
for (int i = 0; i < (int) why2_get_key_length(); i++) for (unsigned long i = 0; i < why2_get_key_length(); i++)
{ {
emptyKey[i] = 'x'; empty_key[i] = 'x';
} }
emptyKey[why2_get_key_length()] = '\0'; empty_key[why2_get_key_length()] = '\0';
return (why2_output_flags) { emptyText, emptyKey, 0, 0, 0, exit_code }; return (why2_output_flags) { empty_text, 0, empty_key, 0, 0, 0, exit_code };
} }
why2_encryption_operation_cb why2_get_encryption_operation(void) why2_encryption_operation_cb why2_get_encryption_operation(void)