如何在.Net中使用SQLCipher

3
我想使用C#(winform)读取一个SQLCipher数据库,并找到一个开源项目SQLitePCL,但我没有找到这个用法的示例,而且文档也不多。有没有朋友使用过这个东西,可以提供一些示例来帮助我吗?
谢谢!

https://forums.xamarin.com/discussion/89394/sqlite-net-pcl-with-sqlitepclraw-bundle-sqlcipher - Access Denied
1个回答

5
这将适用于winforms,wpf,asp.net,xamarin.android,xamarin.ios,UWP以及任何其他.NET项目,因为这是一个跨平台库:
安装Frank A. Krueger的“sqlite-net-pcl”nuget。
使用他的github页面中的教程。
现在,一旦我们拥有了数据库和所有东西,如何加密新创建的数据库或打开加密的数据库?
添加Eric Sink的nuget:“SQLitePCLRaw.bundle_sqlcipher”
在创建SQLiteConnection的代码中指定加密密钥:
connection = new SQLiteConnection(dbPath, openFlags: SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.FullMutex | SQLiteOpenFlags.Create);
connection.Query<int>("PRAGMA key=xzy1921");

那就这样了。其余的操作都像未加密一样运行。

我应该在winform程序中使用它。 错误:无法安装“sqlite-net-pcl 1.4.118”包。您正在尝试将此软件包安装到目标为“.NETFramework,Version = v3.5”的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者。0 - 桑榆肖物
不要使用 .NET 3.5。将你的 WinForms 应用程序更新为使用 .NET 4.7。 - Access Denied
https://blogs.msdn.microsoft.com/cdndevs/2015/08/20/upgrading-projects-to-net-4-6/ - Access Denied
2
添加Eric Sink的NuGet包:“SQLitePCLRaw.bundle_sqlcipher”。此后需要哪些特殊操作? SQLite.SQLiteException:“文件不是数据库”。 - 桑榆肖物
@诺倾情 我在我的应用程序上测试了提出的解决方案。不太确定为什么它对你的数据库不起作用。 - Access Denied
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接