mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
/data and /tmp standarization
This commit is contained in:
@@ -25,42 +25,48 @@ import uuid
|
||||
|
||||
# pycryptodome -------------------------------------------------------------------------
|
||||
|
||||
|
||||
def prepare_key(encryption_key):
|
||||
key = hashlib.sha256(encryption_key.encode()).digest()
|
||||
return key
|
||||
|
||||
|
||||
def encrypt_data(data, encryption_key):
|
||||
key = prepare_key(encryption_key)
|
||||
cipher = AES.new(key, AES.MODE_CBC)
|
||||
ct_bytes = cipher.encrypt(pad(data.encode('utf-8'), AES.block_size))
|
||||
iv = base64.b64encode(cipher.iv).decode('utf-8')
|
||||
ct = base64.b64encode(ct_bytes).decode('utf-8')
|
||||
ct_bytes = cipher.encrypt(pad(data.encode("utf-8"), AES.block_size))
|
||||
iv = base64.b64encode(cipher.iv).decode("utf-8")
|
||||
ct = base64.b64encode(ct_bytes).decode("utf-8")
|
||||
return iv + ct
|
||||
|
||||
|
||||
def decrypt_data(data, encryption_key):
|
||||
key = prepare_key(encryption_key)
|
||||
iv = base64.b64decode(data[:24])
|
||||
ct = base64.b64decode(data[24:])
|
||||
cipher = AES.new(key, AES.MODE_CBC, iv)
|
||||
pt = unpad(cipher.decrypt(ct), AES.block_size)
|
||||
return pt.decode('utf-8')
|
||||
return pt.decode("utf-8")
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------------
|
||||
def get_random_bytes(length):
|
||||
# Generate random bytes
|
||||
random_bytes = os.urandom(length)
|
||||
|
||||
|
||||
# Convert bytes to hexadecimal string
|
||||
hex_string = random_bytes.hex()
|
||||
|
||||
|
||||
# Format hexadecimal string with hyphens
|
||||
formatted_hex = '-'.join(hex_string[i:i+2] for i in range(0, len(hex_string), 2))
|
||||
|
||||
formatted_hex = "-".join(
|
||||
hex_string[i : i + 2] for i in range(0, len(hex_string), 2)
|
||||
)
|
||||
|
||||
return formatted_hex
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------------------------
|
||||
def generate_deterministic_guid(plugin, primary_id, secondary_id):
|
||||
"""Generates a deterministic GUID based on plugin, primary ID, and secondary ID."""
|
||||
data = f"{plugin}-{primary_id}-{secondary_id}".encode("utf-8")
|
||||
return str(uuid.UUID(hashlib.md5(data).hexdigest()))
|
||||
return str(uuid.UUID(hashlib.md5(data).hexdigest()))
|
||||
|
||||
Reference in New Issue
Block a user