Hi I've successfully implemented the sqlcipher in my Xamarin Forms app.
The nuget packages I'm using are :
1. PCL project :
a. sqlite-net-pcl by Frank A. Krueger - version 1.4.118
b. SQLitePCLRaw.bundle_green - by Eric Sink, version 1.1.9
c. SQLitePCLRaw.bundle_sqlcipher - by Eric Sink, version 1.1.9
d. SQLitePCLRaw.core - by Eric Sink version, 1.1.9
2. Droid project :
a. sqlite-net-pcl by Frank A. Krueger - version 1.4.118
b. SQLitePCLRaw.bundle_green - by Eric Sink, version 1.1.9
c. SQLitePCLRaw.bundle_sqlcipher - by Eric Sink, version 1.1.9
d. SQLitePCLRaw.core - by Eric Sink version, 1.1.9
e. SQLitePCLRaw.lib.e_sqlite3.android - by Eric Sink version, 1.1.9
f. SQLitePCLRaw.lib.sqlcipher.android - by Eric Sink version, 1.1.9
g. SQLitePCLRaw.provider.e_sqlite3.android - by Eric Sink version, 1.1.9
h. SQLitePCLRaw.provider.sqlcipher.android - by Eric Sink version, 1.1.9
3. iOS project
a. sqlite-net-pcl by Frank A. Krueger - version 1.4.118
b. SQLitePCLRaw.bundle_green - by Eric Sink, version 1.1.9
c. SQLitePCLRaw.bundle_sqlcipher - by Eric Sink, version 1.1.9
d. SQLitePCLRaw.core - by Eric Sink version, 1.1.9
e. SQLitePCLRaw.lib.sqlcipher.ios_unified.static - by Eric Sink version, 1.1.9
f. SQLitePCLRaw.provider.internal.ios_unified - by Eric Sink version, 1.1.9
g. SQLitePCLRaw.provider.sqlite3.ios_unified - by Eric Sink version, 1.1.9
Then in your Database class you have to create an connection object SQLConnection.
Then during creating sqlconnection object, if you want to have sqlcipher, you have to add Pragmakey :
SQLiteConnection connection = new SQLiteConnection("database path");
string password = "$1234#";
if (!string.IsNullOrEmpty(password))
{
connection.Query<int>("PRAGMA key='?'", password);
}
return connection;
Hope this helps!!!