Hi
Ich habe mit Tkinter ein Loginfeld erstellt.
Nun habe ich noch eine Checkbox hinzugefügt und möchte, wenn diese aktiviert wird und man auf login klickt, dass die zugangsdaten gespeichert werden.
Jetzt ist die Frage, ob es sinnvoll ist die Zugangsdaten in einer txt zu speichern(mit einer md5 Verschlüsselung des Pw´s)?
Oder gibt es da elegantere Lösungen?
Zungangsdaten speichern
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Hashfunktionen sind keine Verschluesselung. Wenn du meinst, dass du das Passwort damit vergleichen willst, dann geht das aber. MD5 solltest du dafuer aber nicht nutzen, sondern SHA-512.
`shelve` bietet sich an, aber um dir da wirklich zu helfen solltest du noch ein paar Worte zu deinen Anforderungen verlieren.
`shelve` bietet sich an, aber um dir da wirklich zu helfen solltest du noch ein paar Worte zu deinen Anforderungen verlieren.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Es waere vielleicht sinnvoller, statt der Zugangsdaten einen "Cookie" zu speichern. Der wird server-seitig generiert, wenn die Anmeldedaten korrekt waren - und dient dann als Authentifizierung.
Dadurch vermeidest du, dass du in irgendeiner Form die echten Daten speicherst. Das verhindert zwar bestimmte Angriffe nicht (wer den Cookie hat, kann sich anmelden), aber so kann niemand das Passwort extrahieren + auf anderen Seiten, welche der User verwendet, einfach ebenfalls benutzen.
Dadurch vermeidest du, dass du in irgendeiner Form die echten Daten speicherst. Das verhindert zwar bestimmte Angriffe nicht (wer den Cookie hat, kann sich anmelden), aber so kann niemand das Passwort extrahieren + auf anderen Seiten, welche der User verwendet, einfach ebenfalls benutzen.
@deets: wie du von tkinter auf Cookies kommst, musst du mir auch noch erklären
@topic: man könnte auch einfach eine Sqlite Datenbank benutzen, um sowas zu speichern, ist ja "batteries included". Und dann in einer config ein autologin: true oder ähnliches.

@topic: man könnte auch einfach eine Sqlite Datenbank benutzen, um sowas zu speichern, ist ja "batteries included". Und dann in einer config ein autologin: true oder ähnliches.
@frabron
Das Konzept "Cookie" besteht aus
- client verbindet sich mit server
- server schickt eine information in form eines strings zurueck
- client speichert den lokal
- wann immer client mit server redet, schickt er den cookie mit
Das ist das Prinzip. Und das kannst du auch mit einem Tkinter-Programm (oder letztlich jedem Programm) so machen. Natuerlich braucht der OP wahrscheinlich nicht die HTTP-Cookie-Eigenschaft, dass es bei jedem Request verschickt wird. Aber das ist eine Marginalie. Mir ging es darum, dass der OP das Prinzip erkennt, und sowas wie eine "Session" (die eben meistens ueber Cookies realisiert wird) aufbaut.
Und jetzt darfst du mir erklaeren, was eine SQLite Datenbank bringen soll, um das eigentliche Problem zu loesen. Das ist doch voellig irrelevant, *wie* genau die Daten lokal gespeichert werden. SQLite ist sicher keine schlechte Idee, aber loest das Problem nicht besser als ein Textfile...
Das Konzept "Cookie" besteht aus
- client verbindet sich mit server
- server schickt eine information in form eines strings zurueck
- client speichert den lokal
- wann immer client mit server redet, schickt er den cookie mit
Das ist das Prinzip. Und das kannst du auch mit einem Tkinter-Programm (oder letztlich jedem Programm) so machen. Natuerlich braucht der OP wahrscheinlich nicht die HTTP-Cookie-Eigenschaft, dass es bei jedem Request verschickt wird. Aber das ist eine Marginalie. Mir ging es darum, dass der OP das Prinzip erkennt, und sowas wie eine "Session" (die eben meistens ueber Cookies realisiert wird) aufbaut.
Und jetzt darfst du mir erklaeren, was eine SQLite Datenbank bringen soll, um das eigentliche Problem zu loesen. Das ist doch voellig irrelevant, *wie* genau die Daten lokal gespeichert werden. SQLite ist sicher keine schlechte Idee, aber loest das Problem nicht besser als ein Textfile...