From 90eef0bb21cb9d42d9722c06f94c7c0e10de8bdc Mon Sep 17 00:00:00 2001 From: ENGO150 Date: Fri, 9 Dec 2022 18:03:30 +0100 Subject: [PATCH] moved pseudo-random seed generation to generateKey --- src/core/lib/encrypter.c | 10 +--------- src/core/lib/misc.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/core/lib/encrypter.c b/src/core/lib/encrypter.c index 934f546..dec057b 100644 --- a/src/core/lib/encrypter.c +++ b/src/core/lib/encrypter.c @@ -53,14 +53,7 @@ outputFlags encryptText(char *text, char *keyNew) char *returningText; char *textBuffer = malloc(1); int *textKeyChain = malloc(sizeof(int) * strlen(text)); - int numberBuffer; - FILE *fileBuffer; - - //TRY TO MAKE RANDOM GENERATION REALLY "RANDOM" - fileBuffer = fopen("/dev/urandom", "r"); - (void) (fread(&numberBuffer, sizeof(numberBuffer), 1, fileBuffer) + 1); //TODO: Try to create some function for processing exit value - numberBuffer = abs(numberBuffer); //MAKE numberBuffer POSITIVE - srand(numberBuffer); + int numberBuffer = 0; if (keyNew != NULL) { @@ -135,7 +128,6 @@ outputFlags encryptText(char *text, char *keyNew) //DEALLOCATION free(textKeyChain); free(textBuffer); - fclose(fileBuffer); return output; } diff --git a/src/core/lib/misc.c b/src/core/lib/misc.c index 496880d..d31c8ab 100644 --- a/src/core/lib/misc.c +++ b/src/core/lib/misc.c @@ -31,6 +31,8 @@ along with this program. If not, see . #include +boolean seedSet = 0; //DO NOT FUCKING TOUCH THIS!!! + double multiply_cb(int a, int b) { return a * b; } double subtract_cb(int a, int b) { return a - b; } double sum_cb(int a, int b) { return a + b; } @@ -392,6 +394,21 @@ void generateKey(char *key, int keyLength) { int numberBuffer; + if (!seedSet) + { + //TRY TO MAKE RANDOM GENERATION REALLY "RANDOM" + FILE *fileBuffer; + + fileBuffer = fopen("/dev/urandom", "r"); + (void) (fread(&numberBuffer, sizeof(numberBuffer), 1, fileBuffer) + 1); //TODO: Try to create some function for processing exit value + numberBuffer = abs(numberBuffer); //MAKE numberBuffer POSITIVE + srand(numberBuffer); + + fclose(fileBuffer); + + seedSet = 1; + } + for (int i = 0; i < keyLength; i++) { //SET numberBuffer TO RANDOM NUMBER BETWEEN 0 AND 52