Datenbanken für verschiedene User

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Hey,

ich entschuldige mich jetzt schonmal für alles folgende, bin was Datenbanken angeht kompletter Neuling :/

Ich habe vor einen eigenen Passwortmanager mit Python, einer GUI und MySql zu entwickeln

Die Speicherung soll dann Lokal auf dem eigenem Rechner in einer Datenbank erfolgen.
Wenn ich also meinen Manager starte möchte ich eine abfrage/auswahl haben wo ich die Datenbank die ausgelesen werden soll anwählen kann (ähnlich wie bei KeePass)
Ist das mit MySql so realisierbar?

Also das ich für jeden „Nutzer“ eine Datenbank anlegen kann und diese dann zu beginn anwählen kann um sie dann zu Öffnen und weiter zu benutzen?
Oder kann man das anders einfacher Lösen?

Mit freundlichen Grüßen Passi
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit MySQL ist das nicht machbar. Das ist ein grosses und komplexes Datenbank-System, das aufwaendig installiert und im Zweifel sogar administriert werden will.

Wenn es dir um eine Datenbank geht, die pro Nutzer vorhanden ist, dann ist SQLite eine Antwort. Das ist bei Python schon dabei.
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Okay, das hilft mir schonmal, Danke.

Kann man die Datenbankdatein bei SQLite auch verschlüsseln oder irgendwie sichern? Hatte mal gelesen, das dies da nicht möglich ist und es wäre ja ziemlich doof wenn die Datein einfach zu öffnen sind.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das geht auch mit mysql nicht. Man verschluesselt auch nicht die DB. Man verschluesselt die Eintraege in der Datenbank.

Nur mal als Hinweis: wenn du so wenig Ahnung hast, waere ich vorsichtig, ein solch sensibles Projekt anzugehen. Das Potential fuer Fehler ist gross!
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Aber bei SQLite werden die Einträge dann auch Verschlüsselt?

Ja danke für den Hinweis, aber ich versuche so ja nur herauszufinden, was sich für mein Vorhaben verwenden lässt, damit ich mich dann ausgiebig damit befassen kann.
Das wird ein Projekt für die Schule, habe dafür aber noch gut ein paar Monate Zeit
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nein, niemand verschluesselt fuer dich. DU musst verschluesseln. Der Datenbank ist egal, ob du superpasswort oder ael1201#5400a als verschluesselte Information speicherst.
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Wie macht man das mit dem Verschlüsseln am besten oder ist es schlauer sich nach einer Alternative umzusehen, die das Feature direkt mit sich bringt?
nezzcarth
User
Beiträge: 1636
Registriert: Samstag 16. April 2011, 12:47

Es scheint da wohl etwas zu geben: https://www.sqlite.org/see/doc/trunk/www/readme.wiki

So, wie ich das verstehe, geht das aber mit der Standardversion von SQLite nicht, sondern muss selbst kompiliert werden. Dadurch ist das dann auch nicht besonders portabel, außer, man liefert die Bibliothek mit.

EDIT: Entschuldigung, da war ich zu vorschnell. Das ist eine kommerzielle Erweiterung die man (ab 2000$ aufwärts) lizensieren kann …
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Es gibt wohl noch mindestens zwei weitere Lösungen im Netz, die natürlich auch voraussetzen, dass man die Bibliothek selbst übersetzt.

Und letztlich will man auch tatsächlich eine verschlüsselte Datenbank und nicht die Werte selbst verschlüsseln. Das macht nämlich keinen Sinn. Bei einem Passwortmanager muss alles verschlüsselt sein, nicht nur die Passwörter. Und ausser vielleicht bei den Passwörtern möchte man die Datenbank ja auch durchsuchen können, da sind verschlüsselte Einzelwerte nicht sinnvoll.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

Und wie bekomme ich dann eine solche verschlüsselte Datenbank?
Bzw was kann ich nutzen was das von Anfang an mit sich bringt?
-Passi-
User
Beiträge: 17
Registriert: Mittwoch 11. November 2020, 23:12

nezzcarth hat geschrieben: Sonntag 6. Dezember 2020, 16:26 EDIT: Entschuldigung, da war ich zu vorschnell. Das ist eine kommerzielle Erweiterung die man (ab 2000$ aufwärts) lizensieren kann …
Ja, auf die bin ich auch schon gestoßen, aber das fällt wohl raus :D
Benutzeravatar
DeaD_EyE
User
Beiträge: 1021
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Symmetrische Verschlüsselung: https://cryptography.io/en/latest/fernet.html

Wenn man die Beispiele nutzt, kann man nicht viel falsch machen.
Asymmetrische Verschlüsselung kann man auch machen, aber dafür sollte man zuerst die Doku lesen.

Es gibt noch weitaus mehr Pakete für die Verschlüsselung.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten