peakyCode

Pythone | Gutefrage.net

Jul 9th, 2024
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | Fixit | 0 0
  1. from cryptography.fernet import Fernet
  2. import hashlib
  3. import base64
  4. key = Fernet.generate_key()
  5.  
  6. class Verschluessler:
  7. def __init__(self):
  8. pass
  9.  
  10. def schluesselErzeugen(self, schluessel):
  11. gehaster_schluessel = hashlib.sha256(schluessel.encode()).digest()
  12. kodierter_schluessel = base64.urlsafe_b64encode(gehaster_schluessel)
  13.  
  14. # Ensure the key is exactly 32 bytes long
  15. return kodierter_schluessel[:32]
  16.  
  17. def dateiVerschluesseln(self, schluessel, dateipfad):
  18. fernet = Fernet(schluessel)
  19. with open(dateipfad, "rb") as datei:
  20. datein_daten = datei.read()
  21. verschluesselte_daten = fernet.encrypt(datein_daten)
  22. with open(dateipfad, "wb") as datei:
  23. datei.write(verschluesselte_daten)
  24. print("Die Datei wurde erfolgreich VERSCHLUESSELT!")
  25.  
  26. def dateiEntschluesseln(self, schluessel, dateipfad):
  27. fernet = Fernet(schluessel)
  28. with open(dateipfad, "rb") as datei:
  29. datein_daten = datei.read()
  30. entschluesselte_daten = fernet.decrypt(datein_daten)
  31. with open(dateipfad, "wb") as datei:
  32. datei.write(entschluesselte_daten)
  33. print("Die Datei wurde erfolgreich ENTSCHLUESSELT!")
  34.  
  35. def start(self):
  36. while True:
  37. print("1. Datei verschluesseln\n2. Datei entschluesseln\n3. Beenden")
  38. auswahl = input("Bitte wähle eine Option zwischen 1-3 aus: ")
  39. if auswahl == "1":
  40. dateipfad = input("Dateipfad eingeben: ")
  41. schluessel = input("Schlüssel eingeben: ")
  42. gehaster_schluessel = self.schluesselErzeugen(schluessel)
  43. self.dateiVerschluesseln(gehaster_schluessel, dateipfad)
  44. elif auswahl == "2":
  45. dateipfad = input("Dateipfad eingeben: ")
  46. schluessel = input("Schlüssel eingeben: ")
  47. gehaster_schluessel = self.schluesselErzeugen(schluessel)
  48. self.dateiEntschluesseln(gehaster_schluessel, dateipfad)
  49. elif auswahl == "3":
  50. break
  51. else:
  52. print("Ungültige Eingabe, versuche es erneut!")
  53.  
  54. verschluessler = Verschluessler()
  55. verschluessler.start()
Tags: python
Add Comment
Please, Sign In to add comment