encrypt_message.py 758 B

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. import os
  3. from cryptography.fernet import Fernet
  4. SECRET_KEY = "secret.key"
  5. def generate_key():
  6. key = Fernet.generate_key()
  7. with open(SECRET_KEY, "wb") as key_file:
  8. key_file.write(key)
  9. def load_key():
  10. return open(SECRET_KEY, "rb").read()
  11. def encrypt_message(message):
  12. """Encrypts a message string"""
  13. if not os.path.exists(SECRET_KEY):
  14. generate_key()
  15. key = load_key()
  16. encoded_message = message.encode("UTF-8")
  17. f = Fernet(key)
  18. encrypted_message = f.encrypt(encoded_message)
  19. return encrypted_message
  20. def decrypt_message(encrypted_message):
  21. key = load_key()
  22. f = Fernet(key)
  23. decrypted_message = f.decrypt(encrypted_message)
  24. return decrypted_message.decode()