Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from cryptography.fernet import Fernet
- import hashlib
- import base64
- key = Fernet.generate_key()
- class Verschluessler:
- def __init__(self):
- pass
- def schluesselErzeugen(self, schluessel):
- gehaster_schluessel = hashlib.sha256(schluessel.encode()).digest()
- kodierter_schluessel = base64.urlsafe_b64encode(gehaster_schluessel)
- # Ensure the key is exactly 32 bytes long
- return kodierter_schluessel[:32]
- def dateiVerschluesseln(self, schluessel, dateipfad):
- fernet = Fernet(schluessel)
- with open(dateipfad, "rb") as datei:
- datein_daten = datei.read()
- verschluesselte_daten = fernet.encrypt(datein_daten)
- with open(dateipfad, "wb") as datei:
- datei.write(verschluesselte_daten)
- print("Die Datei wurde erfolgreich VERSCHLUESSELT!")
- def dateiEntschluesseln(self, schluessel, dateipfad):
- fernet = Fernet(schluessel)
- with open(dateipfad, "rb") as datei:
- datein_daten = datei.read()
- entschluesselte_daten = fernet.decrypt(datein_daten)
- with open(dateipfad, "wb") as datei:
- datei.write(entschluesselte_daten)
- print("Die Datei wurde erfolgreich ENTSCHLUESSELT!")
- def start(self):
- while True:
- print("1. Datei verschluesseln\n2. Datei entschluesseln\n3. Beenden")
- auswahl = input("Bitte wähle eine Option zwischen 1-3 aus: ")
- if auswahl == "1":
- dateipfad = input("Dateipfad eingeben: ")
- schluessel = input("Schlüssel eingeben: ")
- gehaster_schluessel = self.schluesselErzeugen(schluessel)
- self.dateiVerschluesseln(gehaster_schluessel, dateipfad)
- elif auswahl == "2":
- dateipfad = input("Dateipfad eingeben: ")
- schluessel = input("Schlüssel eingeben: ")
- gehaster_schluessel = self.schluesselErzeugen(schluessel)
- self.dateiEntschluesseln(gehaster_schluessel, dateipfad)
- elif auswahl == "3":
- break
- else:
- print("Ungültige Eingabe, versuche es erneut!")
- verschluessler = Verschluessler()
- verschluessler.start()
Add Comment
Please, Sign In to add comment