2016-09-20 9 views
0

Дайте мне способ, как я могу шифровать/расшифровать SQLite с помощью MvvmCross, пожалуйста.Могу ли я использовать шифрование/расшифровку SQLite в MvvmCross

Я пишу приложение на Xamarin для двух платформ, iOS и Android. И я использую MvvmCross в проекте.

Я так смущен.

Лучший способ SQLitePCL.raw с sqlcipher, я думаю. Но я не знаю, как именно объединить sqlcipher с SQLitePCL.raw. Я могу использовать некоторые SQLitePCL.plugins. * Для добавления «sqlcipher provider» на каждую платформу, но как она используется на уровне C#? Как я могу установить ключ PRAGMA в свой код C#, например?

+0

Есть компоненты для шифрования данных SQLite: https://components.xamarin.com/view/sqlcipher -for-xamarin-ios и https://components.xamarin.com/gettingstarted/sqlcipher-for-xamarin-android –

+0

@ Sven-MichaelStübe Да, я видел. Знаете ли вы некоторые бесплатные пакеты/способы? –

+0

Я когда-то создал привязку для сообщества сообщества Android для ответа на stackoverflow: https://github.com/smstuebe/xamarin-sqlcipher –

ответ

1

Для меня ответ должен был использовать эту схему.

Для проекта ядра я использовал следующие пакеты:

SQLitePCLRaw.core 
SQLitePCLRaw.bundle_sqlchipher 

Для проекта IOS:

SQLitePCLRaw.core 
SQLitePCLRaw.bundle_sqlchipher 
SQLitePCLRaw.lib.sqlcipher.ios_unified.static 
SQLitePCLRaw.provider.internal.ios_unified 

И для Android проекта:

SQLitePCLRaw.core 
SQLitePCLRaw.bundle_sqlcipher 
SQLitePCLRaw.lib.sqlcipher.android 
SQLitePCLRaw.provider.sqlcipher.android 

Перед тем, как будет пытаться использовать любой метод из пакетов SQLitePCLRaw вам нужен поставщик установки. Для этого нужно просто ввести одну строку кода:

SQLitePCL.Batteries.Init(); 

Более подробная информация о пакетах SQLitePCLRaw на github