1
0
Fork 0
mirror of https://github.com/ThomasGsp/HyperProxmox.git synced 2025-03-09 15:40:18 +00:00

Crypt system for user and password

This commit is contained in:
thomas.guiseppin 2017-10-25 19:44:15 +02:00
parent 6d10cbc888
commit 2c63f7addb
4 changed files with 14 additions and 15 deletions

View file

@ -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")}

View file

@ -1,4 +1,5 @@
from core.modules.mod_access import *
import base64
def pcrypt(data, key):
CritConf = CryticalData()

View file

@ -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 = {

View file

@ -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"]