diff options
author | AL-LCL <alvin@alvinhavel.com> | 2023-05-19 11:01:49 +0200 |
---|---|---|
committer | AL-LCL <alvin@alvinhavel.com> | 2023-05-19 11:01:49 +0200 |
commit | 20dbeb2f38684c65ff0a4b99012c161295708e88 (patch) | |
tree | a5b8445f55da2fbbb92443b68e9d7354a290c598 /binary/encrypt_data.py |
Diffstat (limited to 'binary/encrypt_data.py')
-rw-r--r-- | binary/encrypt_data.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/binary/encrypt_data.py b/binary/encrypt_data.py new file mode 100644 index 0000000..6f88280 --- /dev/null +++ b/binary/encrypt_data.py @@ -0,0 +1,26 @@ +import base64 + +from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC +from cryptography.hazmat.backends import default_backend +from cryptography.hazmat.primitives import hashes +from cryptography.fernet import Fernet + + +class Encryption: + def __init__(self, password='ksxgyRuBRJLKxjFeHD4nmxbE', salt=b'v4CuHZFzmTedBY2EBGrLRXsm'): + self.password = password + self.salt = salt + self.key = Fernet(self.generate_key()) + + + def generate_key(self): + kdf = PBKDF2HMAC(algorithm=hashes.SHA256(), length=32, salt=self.salt, iterations=100000, backend=default_backend()) + return base64.urlsafe_b64encode(kdf.derive(self.password.encode())) + + + def do_encrypt(self, message): + return self.key.encrypt(message) + + + def do_decrypt(self, ciphertext): + return self.key.decrypt(ciphertext)
\ No newline at end of file |