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