* dev: remove auto script for registration * dev: make all of the instance admins as owners when adding a instance admin * dev: remove sign out endpoint * dev: update takeoff script to register the instance * dev: reapply instance model * dev: check none for instance configuration encryptions * dev: encrypting secrets configuration * dev: user workflow for registration in instances * dev: add email automation configuration * dev: remove unused imports * dev: reallign migrations * dev: reconfigure license engine registrations * dev: move email check to background worker * dev: add sign up * chore: signup error message * dev: updated onboarding workflows and instance setting * dev: updated template for magic login * chore: page migration changed * dev: updated migrations and authentication for license and update template for workspace invite --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
22 lines
750 B
Python
22 lines
750 B
Python
import base64
|
|
import hashlib
|
|
from django.conf import settings
|
|
from cryptography.fernet import Fernet
|
|
|
|
|
|
def derive_key(secret_key):
|
|
# Use a key derivation function to get a suitable encryption key
|
|
dk = hashlib.pbkdf2_hmac('sha256', secret_key.encode(), b'salt', 100000)
|
|
return base64.urlsafe_b64encode(dk)
|
|
|
|
|
|
def encrypt_data(data):
|
|
cipher_suite = Fernet(derive_key(settings.SECRET_KEY))
|
|
encrypted_data = cipher_suite.encrypt(data.encode())
|
|
return encrypted_data.decode() # Convert bytes to string
|
|
|
|
|
|
def decrypt_data(encrypted_data):
|
|
cipher_suite = Fernet(derive_key(settings.SECRET_KEY))
|
|
decrypted_data = cipher_suite.decrypt(encrypted_data.encode()) # Convert string back to bytes
|
|
return decrypted_data.decode()
|