Zungangsdaten speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Mathmos
User
Beiträge: 36
Registriert: Dienstag 10. August 2010, 21:31

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?
Benutzeravatar
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.
deets

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.
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

@deets: wie du von tkinter auf Cookies kommst, musst du mir auch noch erklären :mrgreen:

@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.
deets

@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...
Antworten