C# Windows Phone 8 SQLite Verschlüsselung

PSP_GIGA

Cadet 3rd Year
Registriert
Jan. 2011
Beiträge
57
Hallo Leute,

mein Problem ist folgendes, ich habe eine unverschlüsselte SQLite Datenbank, die ich in mein Projekt hinzugefügt habe.

normalerweise gibt es im .NET eine Methode changepassword() die nach einer erfolgreichen Verbindung aufgerufen werden kann und somit das Passwort geändert wird.

unter Windows Phone 8 gibt es diese Methode nicht.

gibt es eine andere Möglichkeit die DB zu verschlüsseln?

Wenn ich Beispiele zu SQLite unter WP8 mir ansehe wird dieses Beispiel oft verwendet:

PHP:
 Database database = new Database(ApplicationData.Current.LocalFolder, "usertask.db");

ist der "ApplicationData.Current.LocalFolder" ein Ordner unter WP8 auf dem man nicht ohne weiteres zugreifen kann und somit die DB geschützt ist?
oder welche Berechtigungen hat dieses Verzeichnis?

Viele Dank für Antworten
PSP_GIGA
 
Das ist der IsolatedStorage für diese App, das heißt das keine andere App Zugriff auf diesen Speicherbereich hat. Um eine generelle Verschlüsselung nur für diese App handelt es sich dabei aber nicht.

Generell wird der interne Speicher (Nicht die SD-Karte) von WindowsPhone per Bitlocker verschlüsselt.
 
ist das vllt. auch der Grund wieso man es nicht verschlüsseln kann?
Denn kein anderes Programm auch nicht per Massenspeicher am PC kann auf den Installationsordner der App zugreifen oder?
 
Korrekt. Was aber funktionieren sollte, ist einfach die Datei verschlüsseln und die Ursprungsdatei löschen. Dann beim nächsten mal die Datei wieder entschlüsseln. Musst du wissen ob das für dich in Frage kommt. Ist halt keine SQLite Verschlüsselung. Einfachste Methode: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh487164(v=vs.105).aspx

Falls für dich auch ne SQLCE Database in Frage kommt: die unterstützt Verschlüsselung. Siehe: http://msdn.microsoft.com/en-us/lib...hh202860(v=vs.105).aspx#BKMK_DatabaseSecurity Das PW einfach mit oben genannter Methode verschlüsseln.
 
Zuletzt bearbeitet:
es sollte eine SQLite DB bleiben..

ich arbeite mich mal durch denk ersten Link ;)

Vielen Dank!

############################
Edit:

Leider funktioniert das nicht so wie ich dachte ich kann zwar ein string in ein byte[] umwandeln aber wie mach ich das mit einer ganzen DB das macht ja kein sinn auch wenn ich jeden einzelnen Eintrag durchgehen würde...

weil ProtectedData.Protect braucht ein byte[], ich dachte das es eine Möglichkeit geben würde die ganze Datei zu verschlüsseln...
 
Zuletzt bearbeitet: (How to encrypt data in a Windows Phone app)
Naja die usertask.db Datei musst du einfach manuell aus dem IsolatedStorage lesen.

*Edit*
Mit IsolatedStorageFileStream und Read() geht's wohl am einfachsten.
 
Zuletzt bearbeitet:
Zurück
Oben