Encryption 共享项目Xamarin中的跨平台数据库加密

Encryption 共享项目Xamarin中的跨平台数据库加密,encryption,xamarin,sqlite.net,Encryption,Xamarin,Sqlite.net,我正在使用Xamarin开发iOS和Android应用程序。我创建了一个共享项目,这对两个平台都是通用的。 当我使用数据库时,它是公共的,并放在共享项目中。我需要加密数据库文件 项目结构是这样的 按照Xamarin的建议,我已经从这个GitHub替换了SQLite.cs文件 没有SQL-cipher组件可以用作它的付费组件 注意:另一种方法是用C的AES加密DB文件 但是,我需要一个好的方法 欢迎提出任何建议。SQLCipher也可以作为免费社区版提供。自己编译C代码需要多做一些工作,但也不算太

我正在使用Xamarin开发iOS和Android应用程序。我创建了一个共享项目,这对两个平台都是通用的。 当我使用数据库时,它是公共的,并放在共享项目中。我需要加密数据库文件

项目结构是这样的

按照Xamarin的建议,我已经从这个GitHub替换了SQLite.cs文件

没有SQL-cipher组件可以用作它的付费组件

注意:另一种方法是用C的AES加密DB文件

但是,我需要一个好的方法


欢迎提出任何建议。

SQLCipher也可以作为免费社区版提供。自己编译C代码需要多做一些工作,但也不算太糟糕。我不得不为我早期的一个项目做这件事,尽管我有商业许可证,因为一些特性数据类型丢失了

例如,在这里,您可以获得SQLCipher本机库:


SQLite源代码还包括XCode项目:

您可以通过导入sqlcipher aar文件创建xamarin android绑定项目,生成的DLL可用于db加密。
检查使用开源sqlcipher社区版实现的完整示例代码。

但是,c源代码本身的转换是另一个长期项目。转换?不,只是为Android和iOS编译它。当然,如果一个人没有太多的C语言经验,编译本身就是一项嘲弄的任务。有关Android GitHub项目的链接,请参见我的更新。它应该为您提供本机C库。如果你搜索它,也有一个iOS版本。