From 28c32dba8a8dce761257b779508088adf025f041e6dc2a3c2ba712f37116d4a9 Mon Sep 17 00:00:00 2001 From: Marco Gatzen Date: Tue, 10 Dec 2024 10:06:23 +0100 Subject: [PATCH] try import and export --- lib/ConfigLoader.py | 11 +++++++---- lib/DB/UserDAO.py | 5 +---- lib/Vermasseln.py | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/ConfigLoader.py b/lib/ConfigLoader.py index b1543a4..446762b 100644 --- a/lib/ConfigLoader.py +++ b/lib/ConfigLoader.py @@ -116,13 +116,15 @@ class ConfigLoader(QObject): @Slot(str, str) def saveRecoveryKey(self, recovery_file, recovery_password): # print(f"In {__file__} file, saveRecoveryKey()") + local = False rp = self.__setRecoveryPassword(recovery_password) rf = rp[1] + self.__encrypt_key + rp[0] - rf = Vermasseln().oscarVermasseln(rf) + rf = Vermasseln().oscarVermasseln(rf, local) rec_file = urlparse(recovery_file) - rec_file = rec_file.path + ".pyqrec" if os.name == "nt": rec_file = rec_file [1:] + else: + rec_file = rec_file.path + ".pyqrec" try: with open(rec_file, "w") as f: f.write(rf) @@ -133,6 +135,7 @@ class ConfigLoader(QObject): @Slot(str, str) def getRecoveryKey(self, recovery_file, recovery_password): # print(f"In {__file__} file, getRecoveryKey()") + local = False rec_file = urlparse(recovery_file) rec_file = rec_file.path if os.name == "nt": @@ -140,7 +143,7 @@ class ConfigLoader(QObject): try: with open(rec_file, "r") as f: rf = f.read() - rf = Vermasseln().entschluesseln(rf) + rf = Vermasseln().entschluesseln(rf, local) ek = rf[128:] ek = ek[:-32] password = rf[:128] @@ -171,7 +174,7 @@ class ConfigLoader(QObject): rp = self.__setRecoveryPassword(recovery_password, salt) return rp[1] == password - @Slot(str, str) + @Slot(str, str) # todo: non local encryption def importConfig(self, confile, password): # print(f"In {__file__} file, importConfig()") confile = urlparse(confile) diff --git a/lib/DB/UserDAO.py b/lib/DB/UserDAO.py index e92266e..758de6f 100644 --- a/lib/DB/UserDAO.py +++ b/lib/DB/UserDAO.py @@ -18,15 +18,12 @@ class UserDAO: print(e.errno) user_created = False finally: - # self.__closeConnection() return user_created def getUser(self, username): self.__cur.callproc("getUser", (username,)) return self.__cur.fetchone() - def __closeConnection(self): - self.__cur.close() - self.__con.close() + diff --git a/lib/Vermasseln.py b/lib/Vermasseln.py index 6aca97a..3bd817d 100644 --- a/lib/Vermasseln.py +++ b/lib/Vermasseln.py @@ -10,9 +10,9 @@ import string class Vermasseln: - def oscarVermasseln(self, data): + def oscarVermasseln(self, data, local= True): b_data = data.encode("utf-8") - cipher = self.__vermasslungsKobold() + cipher = self.__vermasslungsKobold(local) ciphertext, tag = cipher.encrypt_and_digest(b_data) decoded_data = [b64encode(x).decode("utf-8") for x in (ciphertext, tag)] @@ -20,11 +20,11 @@ class Vermasseln: return storable_data - def entschluesseln(self, data): + def entschluesseln(self, data, local= True): try: data_list = data.split(".") encoded_data = [b64decode(x) for x in data_list] - cipher = self.__vermasslungsKobold() + cipher = self.__vermasslungsKobold(local) decrypted_data = cipher.decrypt_and_verify(encoded_data[0], encoded_data[1]) decrypted_data = decrypted_data.decode("utf-8") except (ValueError, IndexError) as e: @@ -37,12 +37,12 @@ class Vermasseln: return decrypted_data - def __vermasslungsKobold(self): - key = platform.processor().encode("utf-8") + def __vermasslungsKobold(self, local= True): + key = platform.processor().encode("utf-8") if local else "(==daniishtverhaftetwegensexy#)" key = key[0:31] hash_key = SHA256.new(key) hashed = hash_key.digest() - nonce = platform.machine().encode("utf-8") + nonce = platform.machine().encode("utf-8") if local else "(==Uskarishtverhaftetwegensexy#)" cipher = AES.new(hashed, AES.MODE_SIV, nonce = nonce) return cipher