Nowadays, with praeclarum/sqlite-net, are there any way to encrypt an unencrypted database-file and/or open/connect to an already encrypted database-file ?
If it is not ready yet, will be very complex to implement it ?
Thanks.
+1 on this please. Any information would be great.
+1
+1
Same here
+1
1
+1
+1
Goes without saying, the System.Data.Sqlite implementation uses it (https://system.data.sqlite.org/) - which i use for Desktop apps. And i'd LOVE to see it cross over into yours, which i use for mobile development. It definitely helps as an extra layer of security.
+1, I would definitely love that too
+1
I have to admit I'm pretty ignorant of the encryption options out there for sqlite.
I've seen on other bugs (#476) that SQLCipher is brought up and that there would be some benefit to supporting them as a driver.
Would this be sufficient, or are there better approaches you would like to see implemented?
It's worth it as a start.
This is being worked on in #597
I could use some help testing this out. Would you mind grabbing sqlite-net-sqlcipher 1.5.176-beta from nuget and testing with the new SetKey methods on the connection? Thanks!
Just a heads up when I tested the new nuget out,
I use SQliteExtensions which has a dependency on Sqlite-Net-PCL so it couldnt cope with conflicting dlls.
I therefore had to revert to the old way of doing it outlined here: https://github.com/praeclarum/sqlite-net/issues/508#issuecomment-301905452
Don't think its anything you can do in your library to fix that but its possibly worth noting
Since 1.5, the https://www.nuget.org/packages/sqlite-net-sqlcipher package is available. The API is changing a bit in 1.6.
Happy encrypting!
Hi,
I am trying to use -> sqlite-net-sqlcipher 1.6.292
in my winforms c# application for storing some client-side sensitive information, which I do not intend to save on our server.
When I try to open my sqlite db which is encrypted (password protected) - using SQLCipher 4 defaults method, I am able to open the same database using the DB Browser (SQLCipher) GUI...
While I try it using C# with following code
var databasePath = Path.Combine(Application.StartupPath, "profile.db");
var options = new SQLiteConnectionString(databasePath, true, key: "[email protected]");
conn = new SQLiteAsyncConnection(options);
I get following error:
SQLiteException: file is not a database
Can you please suggest, whats best way to get through this,.?
using SQLCipher 4 defaults
This is an issue I assume, I used SQLCipher 3 defaults and the problem is solved.
Why not support the better cipher methods as well?
@nbaua , you can check out my test repo as it may give you some assistance. The repo demos SQLite-Net and SQLite-Net-SQLCipher features using unit tests.
https://github.com/DamianSuess/Test.SQLite.