Ich habe eine Xamarin-Formularanwendung, die eine SQLite-Datenbank erstellt.
Microsoft.EntityFrameworkCore.Sqlite
wird zum Erstellen der Datenbank verwendet. Ich möchte der Datei ein Passwort hinzufügen. Ich habe im Internet gesucht, aber leider kann ich keinen offensichtlichen Weg finden. In StackOverflow gibt es einige Fragen, die meiner Frage ähnlich sind, aber die Plattform ist nicht Xamarin Forms.
Hier sind die Fragen:
Dies ist mein Code zum Erstellen der Datenbank:
%Vor% Ich schrieb einen Beitrag auf Verschlüsselung in Microsoft.Data.Sqlite . Sie können es in EF Core nutzen, indem Sie eine offene Verbindung an UseSqlite
übergeben.
Verwenden Sie anstelle von Microsoft.EntityFrameworkCore.Sqlite
diese Pakete:
Es gibt keine Möglichkeit den Passwortschutz für sqlite db out of the box hinzuzufügen, es gibt eine ganze Erklärung hier bezüglich des Grundes in weiteren Einzelheiten.
Es gibt jedoch eine nette Lösung, die auf diesem thread mit SQL Chiper , um Ihre DB pro Seite zu verschlüsseln, wenn Sie bereit sind, das Geld zu investieren.
Wenn Sie Ihre gesamte db-Datei bei Bedarf ver- und entschlüsseln möchten, verwenden Sie PCLCrypto .
Aber wie Sie bemerkt haben, ist die einzige Möglichkeit, diese Art von Schutz zu erreichen, die Verschlüsselung Ihrer db-Datei. Sie können kein Passwort festlegen.
Nicht genau eine Antwort auf Ihre Frage, sondern ein Vorschlag. Sie können eine Bibliothek namens Akavache verwenden, um Daten zu speichern.
Es gibt vier Speicherorte: - BlobCache.LocalMachine - Gerätespeicher - BlobCache.UserAccount - Benutzer die Einstellungen. Einige Systeme sichern diese Daten in der Cloud. - BlobCache.Secure - Zum Speichern sensibler Daten - wie Anmeldeinformationen. (Verschlüsselt) - BlobCache.InMemory - Eine Datenbank, die im Speicher gehalten wird. Die Daten wird für die Lebensdauer der App gespeichert.
Ich hoffe, das hilft
Tags und Links c# sqlite xamarin.forms entity-framework-core