diff --git a/code/scripts/main/core/core.py b/code/scripts/main/core/core.py index 5bf54da..14c4e7d 100644 --- a/code/scripts/main/core/core.py +++ b/code/scripts/main/core/core.py @@ -16,6 +16,8 @@ from netaddr import iter_iprange import threading import time +import base64 + def RunAnalyse(clusters_conf, generalconf, delay=300): play = Analyse(clusters_conf, generalconf) @@ -304,8 +306,8 @@ class Core: def insert_cluster(self, data): testdata = valid_cluster_data(data) if not testdata: - data["user"] = pcrypt(data["user"], self.generalconf["keys"]["key_pvt"])["data"] - data["password"] = pcrypt(data["password"], self.generalconf["keys"]["key_pvt"])["data"] + data["user"] = base64.b64encode(pcrypt(data["user"], self.generalconf["keys"]["key_pvt"])["data"]).decode('utf-8') + data["password"] = base64.b64encode(pcrypt(data["password"], self.generalconf["keys"]["key_pvt"])["data"]).decode('utf-8') new_cluster = self.mongo.insert_new_cluster(data) else: new_cluster = {"error": "{1} {0}".format(testdata, "Invalid or miss paramettrer")} diff --git a/code/scripts/main/core/libs/hcrypt.py b/code/scripts/main/core/libs/hcrypt.py index fe95415..bc3ee77 100644 --- a/code/scripts/main/core/libs/hcrypt.py +++ b/code/scripts/main/core/libs/hcrypt.py @@ -1,4 +1,5 @@ from core.modules.mod_access import * +import base64 def pcrypt(data, key): CritConf = CryticalData() diff --git a/code/scripts/main/core/modules/mod_access.py b/code/scripts/main/core/modules/mod_access.py index 638327f..5499a53 100644 --- a/code/scripts/main/core/modules/mod_access.py +++ b/code/scripts/main/core/modules/mod_access.py @@ -87,16 +87,12 @@ class CryticalData: return result_private_key def data_encryption(self, data, key=None): - - encfrypt = key.encrypt(data.encode("utf-8"), 32) - convert_str = str(encfrypt[0])[2:-1] - - + encfrypt = key.encrypt(data.encode("utf-8"), 64) try: if key: result_encrypt = { "result": "OK", - "data": convert_str + "data": encfrypt[0] } else: result_encrypt = { diff --git a/code/scripts/main/core/modules/mod_analyst.py b/code/scripts/main/core/modules/mod_analyst.py index 782d742..ddba5de 100644 --- a/code/scripts/main/core/modules/mod_analyst.py +++ b/code/scripts/main/core/modules/mod_analyst.py @@ -14,7 +14,8 @@ from core.libs.hcrypt import * import time import operator import random -import codecs +import bson +import base64 def add_token(tokens_in_slots, slot_distributions): num_tokens = sum(tokens_in_slots) @@ -55,20 +56,19 @@ class Analyse: self.mongo.insert_datekey(insert_time, 'running') for cluster in self.clusters_conf: + """ Decode data """ + user = pdecrypt(base64.b64decode(cluster["user"]), self.generalconf["keys"]["key_pvt"])["data"].decode('utf-8') + password = pdecrypt(base64.b64decode(cluster["password"]), self.generalconf["keys"]["key_pvt"])["data"].decode('utf-8') - datamongo=cluster["user"].replace("\\\\x", "x") - convert_to_byte=datamongo.encode("utf-8") - print(convert_to_byte) - print(pdecrypt(datamongo.encode("utf-8"), self.generalconf["keys"]["key_pvt"])) """ AUTH """ proxmox = Proxmox("Analyse") proxmox.get_ticket("{0}:{1}".format(cluster["url"], int(cluster["port"])), - pdecrypt(cluster["user"], self.generalconf["keys"]["key_pvt"]), - pdecrypt(cluster["password"], self.generalconf["keys"]["key_pvt"])) + pdecrypt(user, self.generalconf["keys"]["key_pvt"]), + pdecrypt(password, self.generalconf["keys"]["key_pvt"])) """ Get excluded nodes """ exclude_nodes = cluster["exclude_nodes"]