auch Umformatiert
This commit is contained in:
parent
833db410ad
commit
02b0734f0e
1 changed files with 162 additions and 143 deletions
305
notizen/n.py
Normal file → Executable file
305
notizen/n.py
Normal file → Executable file
|
@ -1,143 +1,162 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
import hashlib,os
|
|
||||||
|
import hashlib, os
|
||||||
## funktionen
|
|
||||||
def a_str(inp, leng):
|
## funktionen
|
||||||
if len(inp) < leng:
|
def a_str(inp, leng):
|
||||||
while len(inp) < leng:
|
if len(inp) < leng:
|
||||||
inp += inp
|
while len(inp) < leng:
|
||||||
inp = inp[:leng]
|
inp += inp
|
||||||
elif len(inp) > leng:
|
inp = inp[:leng]
|
||||||
inp = inp[:leng]
|
elif len(inp) > leng:
|
||||||
return inp
|
inp = inp[:leng]
|
||||||
def sha512(passwort):
|
return inp
|
||||||
sha512 = hashlib.sha512()
|
|
||||||
sha512.update(passwort.encode())
|
|
||||||
return sha512.hexdigest()
|
def sha512(passwort):
|
||||||
def crypt(text, key_hash):
|
sha512 = hashlib.sha512()
|
||||||
key_hash = a_str(key_hash,len(text))
|
sha512.update(passwort.encode())
|
||||||
crypted_text = ""
|
return sha512.hexdigest()
|
||||||
for i in range(len(text)):
|
|
||||||
crypted_text += chr(ord(text[i]) ^ ord(key_hash[i]))
|
|
||||||
return crypted_text
|
def crypt(text, key_hash):
|
||||||
def o(note,mode):
|
key_hash = a_str(key_hash, len(text))
|
||||||
return open(f"{n_path}{note}.txt",mode,encoding="utf-8")
|
crypted_text = ""
|
||||||
def nlist():
|
for i in range(len(text)):
|
||||||
string = ""
|
crypted_text += chr(ord(text[i]) ^ ord(key_hash[i]))
|
||||||
notizen = []
|
return crypted_text
|
||||||
if os.listdir(n_path) == []:
|
|
||||||
string += "Noch keine Notizen\n"
|
|
||||||
else:
|
def o(note, mode):
|
||||||
string += "Deine Notizen:\n"
|
return open(f"{n_path}{note}.txt", mode, encoding="utf-8")
|
||||||
for a in os.listdir(n_path):
|
|
||||||
notizen.append(f"{a}"[:-4])
|
|
||||||
for n in notizen:
|
def nlist():
|
||||||
string += f" - {n}:\n"
|
string = ""
|
||||||
datei = o(n,"r")
|
notizen = []
|
||||||
string += crypt(datei.read() ,passwort)+"\n"
|
if os.listdir(n_path) == []:
|
||||||
datei.close()
|
string += "Noch keine Notizen\n"
|
||||||
return [string,notizen]
|
else:
|
||||||
|
string += "Deine Notizen:\n"
|
||||||
def neditadd(notiz=str,text=str):
|
for a in os.listdir(n_path):
|
||||||
if not notiz+".txt" in os.listdir(n_path):
|
notizen.append(f"{a}"[:-4])
|
||||||
if a_note+".txt" in os.listdir(n_path):
|
for n in notizen:
|
||||||
back = "Notiz gibt es schon."
|
string += f" - {n}:\n"
|
||||||
return back
|
datei = o(n, "r")
|
||||||
back = "neue Notiz angelegt."
|
string += crypt(datei.read(), passwort) + "\n"
|
||||||
else:
|
datei.close()
|
||||||
back = "Erfolgreich gespeichert"
|
return [string, notizen]
|
||||||
datei = o(notiz,"w")
|
|
||||||
datei.write(crypt(text, passwort))
|
|
||||||
datei.close()
|
def neditadd(notiz=str, text=str):
|
||||||
return back
|
if not notiz + ".txt" in os.listdir(n_path):
|
||||||
|
if a_note + ".txt" in os.listdir(n_path):
|
||||||
## variablen
|
back = "Notiz gibt es schon."
|
||||||
passwort = input("Passwort:")
|
return back
|
||||||
passwort = sha512(passwort)
|
back = "neue Notiz angelegt."
|
||||||
|
else:
|
||||||
##notizen pfad
|
back = "Erfolgreich gespeichert"
|
||||||
n_path = os.path.dirname(os.path.abspath(__file__))
|
datei = o(notiz, "w")
|
||||||
tzeichen = os.sep
|
datei.write(crypt(text, passwort))
|
||||||
n_path += tzeichen
|
datei.close()
|
||||||
if not os.path.exists(f"{n_path}n{tzeichen}"):
|
return back
|
||||||
os.makedirs(f"{n_path}n{tzeichen}")
|
|
||||||
print("Notizenverzeichniss angelegt.")
|
|
||||||
n_path += "n"+tzeichen
|
## variablen
|
||||||
|
passwort = input("Passwort:")
|
||||||
## start
|
passwort = sha512(passwort)
|
||||||
print(""" Willkommen zu n
|
|
||||||
|
##notizen pfad
|
||||||
ACHTUNG: Falls du dein Passwort falsch eingibst überprüfe
|
n_path = os.path.dirname(os.path.abspath(__file__))
|
||||||
erst ob deine Notizen richtig angezeigt werden sonnst falls
|
tzeichen = os.sep
|
||||||
du eine neue Notiz erstellst wird sie anderst verschlüsselt.
|
n_path += tzeichen
|
||||||
|
if not os.path.exists(f"{n_path}n{tzeichen}"):
|
||||||
ACHTUNG: Es kann seine das einige Zeichen wie Umlaute falsch
|
os.makedirs(f"{n_path}n{tzeichen}")
|
||||||
angezeigt werden können.
|
print("Notizenverzeichniss angelegt.")
|
||||||
|
n_path += "n" + tzeichen
|
||||||
Was möchtest du machen?: add, edit, read, list, help, exit.
|
|
||||||
""")
|
## start
|
||||||
print(nlist()[0])
|
print(
|
||||||
|
""" Willkommen zu n
|
||||||
## programmschleife
|
|
||||||
while 1:
|
ACHTUNG: Falls du dein Passwort falsch eingibst überprüfe
|
||||||
action = input(">")
|
erst ob deine Notizen richtig angezeigt werden sonnst falls
|
||||||
if action == "help": #help
|
du eine neue Notiz erstellst wird sie anderst verschlüsselt.
|
||||||
print("""Hilfe:
|
|
||||||
|
ACHTUNG: Es kann seine das einige Zeichen wie Umlaute falsch
|
||||||
edit = Bearbeite eine Notiz.
|
angezeigt werden können.
|
||||||
read = Zeige eine Notiz an.
|
|
||||||
add = Erstelle eine Notiz.
|
Was möchtest du machen?: add, edit, read, list, help, exit.
|
||||||
delete = Notiz löschen.
|
"""
|
||||||
list = Zeigt dir deine Notizen nochmals an.
|
)
|
||||||
secure = Wie funktioniert die verschlüsselung.
|
print(nlist()[0])
|
||||||
debug = Zeigt Debug Infos.
|
|
||||||
exit = Beenden.
|
## programmschleife
|
||||||
|
while 1:
|
||||||
Bei Fehlern Bitte an Megamichi melden.""")
|
action = input(">")
|
||||||
if action == "secure": #secure
|
if action == "help": # help
|
||||||
print("""Zur Sicherheit:
|
print(
|
||||||
Es wir ein SHA-512 Hash aus dein Passwort erstellt.
|
"""Hilfe:
|
||||||
Und mit deinen Notizen und den auf die richtige Länge
|
|
||||||
angepassten Hash wir ein One-Time-Pad angewendet.
|
edit = Bearbeite eine Notiz.
|
||||||
|
read = Zeige eine Notiz an.
|
||||||
ACHTUNG: Falls du dein Passwort falsch eingibst überprüfe
|
add = Erstelle eine Notiz.
|
||||||
erst ob deine Notizen richtig angezeigt werden sonst falls
|
delete = Notiz löschen.
|
||||||
du eine neue Notiz erstellst wird sie anderst verschlüsselt.
|
list = Zeigt dir deine Notizen nochmals an.
|
||||||
|
secure = Wie funktioniert die verschlüsselung.
|
||||||
ACHTUNG: Es kann seine Das einige Zeichen wie Umlaute falsch
|
debug = Zeigt Debug Infos.
|
||||||
angezeigt werden können.""")
|
exit = Beenden.
|
||||||
if action == "edit": #edit
|
|
||||||
a_note = input("Notiz Titel:")
|
Bei Fehlern Bitte an Megamichi melden."""
|
||||||
text = input("bitte neuen Text einfügen:")
|
)
|
||||||
print(neditadd(a_note,text))
|
if action == "secure": # secure
|
||||||
if action == "read": #read
|
print(
|
||||||
a_note = input("Notiz Titel:")
|
"""Zur Sicherheit:
|
||||||
if a_note+".txt" in os.listdir(n_path):
|
Es wir ein SHA-512 Hash aus dein Passwort erstellt.
|
||||||
datei = o(a_note,"r")
|
Und mit deinen Notizen und den auf die richtige Länge
|
||||||
print(crypt(datei.read() ,passwort))
|
angepassten Hash wir ein One-Time-Pad angewendet.
|
||||||
datei.close()
|
|
||||||
else:
|
ACHTUNG: Falls du dein Passwort falsch eingibst überprüfe
|
||||||
print("Notiz gibts nicht.")
|
erst ob deine Notizen richtig angezeigt werden sonst falls
|
||||||
if action == "add": #add
|
du eine neue Notiz erstellst wird sie anderst verschlüsselt.
|
||||||
a_note = input("Notiz Titel:")
|
|
||||||
text = input("bitte neuen Text einfügen:")
|
ACHTUNG: Es kann seine Das einige Zeichen wie Umlaute falsch
|
||||||
print(neditadd(a_note,text))
|
angezeigt werden können."""
|
||||||
if action == "delete": #delete
|
)
|
||||||
a_note = input("Notiz Titel:")
|
if action == "edit": # edit
|
||||||
if a_note+".txt" in os.listdir(n_path):
|
a_note = input("Notiz Titel:")
|
||||||
if input("Wirklich löschen?:") == "ja":
|
text = input("bitte neuen Text einfügen:")
|
||||||
os.remove(f"{n_path}{a_note}.txt")
|
print(neditadd(a_note, text))
|
||||||
print("Notiz gelöscht")
|
if action == "read": # read
|
||||||
else:
|
a_note = input("Notiz Titel:")
|
||||||
print("Notiz nicht gelöscht")
|
if a_note + ".txt" in os.listdir(n_path):
|
||||||
else:
|
datei = o(a_note, "r")
|
||||||
print("Notiz gibt es nicht.")
|
print(crypt(datei.read(), passwort))
|
||||||
if action == "list": #list
|
datei.close()
|
||||||
print(nlist()[0])
|
else:
|
||||||
if action == "debug": #debug
|
print("Notiz gibts nicht.")
|
||||||
print(f"""Debug Informationen:
|
if action == "add": # add
|
||||||
n_path={n_path}
|
a_note = input("Notiz Titel:")
|
||||||
pas_hash={passwort}""")
|
text = input("bitte neuen Text einfügen:")
|
||||||
if action == "exit": #exit
|
print(neditadd(a_note, text))
|
||||||
print("Bye")
|
if action == "delete": # delete
|
||||||
exit()
|
a_note = input("Notiz Titel:")
|
||||||
|
if a_note + ".txt" in os.listdir(n_path):
|
||||||
|
if input("Wirklich löschen?:") == "ja":
|
||||||
|
os.remove(f"{n_path}{a_note}.txt")
|
||||||
|
print("Notiz gelöscht")
|
||||||
|
else:
|
||||||
|
print("Notiz nicht gelöscht")
|
||||||
|
else:
|
||||||
|
print("Notiz gibt es nicht.")
|
||||||
|
if action == "list": # list
|
||||||
|
print(nlist()[0])
|
||||||
|
if action == "debug": # debug
|
||||||
|
print(
|
||||||
|
f"""Debug Informationen:
|
||||||
|
n_path={n_path}
|
||||||
|
pas_hash={passwort}"""
|
||||||
|
)
|
||||||
|
if action == "exit": # exit
|
||||||
|
print("Bye")
|
||||||
|
exit()
|
||||||
|
|
Loading…
Reference in a new issue