#! /usr/bin/python3 # PROGRAM SMS1 # Version fuer das faible-Projekt # Version: 20.5.2024 # Autor: Arno Pasternak # Das Programm unterliegt der GPL, Version 3 # ========================================== import os class SatzKlasse: def __init__(self): self.satz = "Dies ist ein neuer Satz" def einlesen(self): print("Bitte Satz eingeben: ") self.satz = input().strip() print(self.satz) def ausgeben(self): print(self.satz) def verschluesseln(self, codewort): buchstabe = "" asciizahl = 0 stelle = 0 versatz = int(codewort) verschluesselter_satz = "" while stelle < len(self.satz): buchstabe = self.satz[stelle] asciizahl = ord(buchstabe) asciizahl += versatz buchstabe = chr(asciizahl) verschluesselter_satz += buchstabe stelle += 1 self.satz = verschluesselter_satz def entschluesseln(self, codewort): buchstabe = "" asciizahl = 0 stelle = 0 versatz = int(codewort) entschluesselter_satz = "" while stelle < len(self.satz): buchstabe = self.satz[stelle] asciizahl = ord(buchstabe) asciizahl -= versatz buchstabe = chr(asciizahl) entschluesselter_satz += buchstabe stelle += 1 self.satz = entschluesselter_satz def senden(self, dateiname): datei = open(dateiname, "w") datei.write(self.satz) datei.close() def holen(self, dateiname): if not os.path.exists(dateiname): self.satz = "SMS nicht vorhanden" else: datei = open(dateiname) self.satz = datei.readline() datei.close() # Ende Satzklasse # ========================================================= # BEGINN des Programms print("") print("==============================================================") print(" SMS Programm mit Caesar-Verschluesselung") print("==============================================================") print("==============================================================") print("") print("") sms = None codewort = None teilnehmer = None absender = None empfaenger = None wahl = None codewort = chr(0) print("") teilnehmer = input("Bitte gib Deinen Namen an: ") sms = SatzKlasse() wahl = "" while wahl != "Q": print("") print("==============================================================") print("E: Einlesen ** A: Ausgeben") print("S: Senden ** H: Holen") print("V: Verschluesseln ** D: Entschluesseln") print("Z: Zeigen alle SMS ** C: Codewort eingeben") print("Q: QUIT") print("") wahl = input("Bitte waehlen: ") wahl = wahl.upper() print("") print("--------------------------------------------------------------") if wahl == 'Z': import subprocess subprocess.call(["./verzeichnis.sh"]) if wahl == 'C': codewort = input("Bitte Codewort (Ziffer) eingeben: ") codewort = codewort[0] if wahl == 'E': sms.einlesen() if wahl == 'A': sms.ausgeben() if wahl == 'S': empfaenger = input("Bitte Empfaenger eingeben: ") # sms.senden("{empfaenger}_{teilnehmer}.sms") sms.senden(empfaenger+"_"+teilnehmer+".sms") print("Die SMS wurde versandt.") if wahl == 'H': print("Bitte Absender eingeben: ") absender = input().strip() sms.holen(teilnehmer+"_"+absender+".sms") print("Folgende SMS wurde erhalten:") sms.ausgeben() if wahl == 'V': sms.verschluesseln(codewort) print("Verschluesselt: ") sms.ausgeben() if wahl == 'D': sms.entschluesseln(codewort) print("Entschluesselt: ") sms.ausgeben() # ENDE des Programmes