auch Umformatiert

This commit is contained in:
Wolfgang Nowak 2023-11-21 23:38:43 +01:00
parent 833db410ad
commit 02b0734f0e

35
notizen/n.py Normal file → Executable file
View file

@ -1,4 +1,5 @@
#!/usr/bin/python3
import hashlib, os
## funktionen
@ -10,18 +11,26 @@ def a_str(inp, leng):
elif len(inp) > leng:
inp = inp[:leng]
return inp
def sha512(passwort):
sha512 = hashlib.sha512()
sha512.update(passwort.encode())
return sha512.hexdigest()
def crypt(text, key_hash):
key_hash = a_str(key_hash, len(text))
crypted_text = ""
for i in range(len(text)):
crypted_text += chr(ord(text[i]) ^ ord(key_hash[i]))
return crypted_text
def o(note, mode):
return open(f"{n_path}{note}.txt", mode, encoding="utf-8")
def nlist():
string = ""
notizen = []
@ -38,6 +47,7 @@ def nlist():
datei.close()
return [string, notizen]
def neditadd(notiz=str, text=str):
if not notiz + ".txt" in os.listdir(n_path):
if a_note + ".txt" in os.listdir(n_path):
@ -51,6 +61,7 @@ def neditadd(notiz=str,text=str):
datei.close()
return back
## variablen
passwort = input("Passwort:")
passwort = sha512(passwort)
@ -65,7 +76,8 @@ if not os.path.exists(f"{n_path}n{tzeichen}"):
n_path += "n" + tzeichen
## start
print(""" Willkommen zu n
print(
""" Willkommen zu n
ACHTUNG: Falls du dein Passwort falsch eingibst überprüfe
erst ob deine Notizen richtig angezeigt werden sonnst falls
@ -75,14 +87,16 @@ ACHTUNG: Es kann seine das einige Zeichen wie Umlaute falsch
angezeigt werden können.
Was möchtest du machen?: add, edit, read, list, help, exit.
""")
"""
)
print(nlist()[0])
## programmschleife
while 1:
action = input(">")
if action == "help": # help
print("""Hilfe:
print(
"""Hilfe:
edit = Bearbeite eine Notiz.
read = Zeige eine Notiz an.
@ -93,9 +107,11 @@ secure = Wie funktioniert die verschlüsselung.
debug = Zeigt Debug Infos.
exit = Beenden.
Bei Fehlern Bitte an Megamichi melden.""")
Bei Fehlern Bitte an Megamichi melden."""
)
if action == "secure": # secure
print("""Zur Sicherheit:
print(
"""Zur Sicherheit:
Es wir ein SHA-512 Hash aus dein Passwort erstellt.
Und mit deinen Notizen und den auf die richtige Länge
angepassten Hash wir ein One-Time-Pad angewendet.
@ -105,7 +121,8 @@ erst ob deine Notizen richtig angezeigt werden sonst falls
du eine neue Notiz erstellst wird sie anderst verschlüsselt.
ACHTUNG: Es kann seine Das einige Zeichen wie Umlaute falsch
angezeigt werden können.""")
angezeigt werden können."""
)
if action == "edit": # edit
a_note = input("Notiz Titel:")
text = input("bitte neuen Text einfügen:")
@ -135,9 +152,11 @@ ACHTUNG: Es kann seine Das einige Zeichen wie Umlaute falsch
if action == "list": # list
print(nlist()[0])
if action == "debug": # debug
print(f"""Debug Informationen:
print(
f"""Debug Informationen:
n_path={n_path}
pas_hash={passwort}""")
pas_hash={passwort}"""
)
if action == "exit": # exit
print("Bye")
exit()