Межплатформенное шифрование базы данных в общем проекте Xamarin

Я использую Xamarin для разработки приложений для iOS и Android. Я создал один общий проект, общий для обеих платформ. Поскольку я использую базу данных, она является общей и помещается в общий проект. Мне нужно зашифровать файл базы данных.

Структура проекта похожа на Tasky.

Я заменил файл SQLite.cs из этой ссылки GitHub на предложенный Xamarin.

Нет компонента SQL-шифра, который я могу использовать как платный.

Примечание. Вместо этого вместо этого шифруется файл БД с помощью AES C#.

Но мне нужен хороший подход.

Любые предложения приветствуются.


person vITs    schedule 12.10.2014    source источник


Ответы (2)


SQLCipher также доступен в виде бесплатной версии для сообщества. Немного больше работы, чтобы скомпилировать код C самостоятельно, но ничего страшного. Мне пришлось сделать это для одного из моих ранних проектов, хотя у меня была коммерческая лицензия, так как некоторые функции (типы данных) отсутствовали.

Например, здесь вы можете получить собственную библиотеку SQLCipher: https://github.com/sqlcipher/android-database-sqlcipher

Исходный код SQLite (включая проект XCode): https://github.com/sqlcipher/sqlcipher

person SKall    schedule 14.10.2014
comment
Но само преобразование источника c будет еще одним проектом на долгую жизнь. - person vITs; 14.10.2014
comment
Преобразование? Нет, просто скомпилируйте его для Android и iOS. Конечно, если у кого-то нет большого опыта в C, компиляция сама по себе может быть сложной задачей. См. мое обновление для ссылки на проект GitHub для Android. Это должно дать вам собственные библиотеки C. Существует также версия для iOS, если вы ищете ее. - person SKall; 14.10.2014

Вы можете создать проект привязки xamarin android, импортировав файл sqlcipher aar, и полученная DLL может использоваться для шифрования базы данных. Ознакомьтесь с полным примером кода здесь, реализованным с использованием версия сообщества sqlcipher с открытым исходным кодом.

person Suchith    schedule 25.09.2017