Windows Phone 7 - SQLite с шифрованием - PullRequest
12 голосов
/ 16 мая 2011

Я использовал System.Data.SQLite для SQLite в Windows Mobile.Он имеет встроенную поддержку шифрования.Я нашел много реализаций SQLite для Windows Phone 7. Но ни у одного из них нет встроенной поддержки шифрования.Кто-нибудь знает любую реализацию SQLite для Windows Phone 7, которая поддерживает шифрование?

Ответы [ 2 ]

1 голос
/ 20 июня 2011

В итоге я использовал SQL CE, представленный в выпуске Mango (Windows Phone 7.1), который имеет встроенную поддержку шифрования (пароля). Обратитесь к http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2011/05/24/windows-phone-mango-what-s-new-local-database-part-1-of-8.aspx, который имеет очень хорошее объяснение.

0 голосов
/ 02 июня 2011

Похоже, что в Windows Phone 7 нет API, который позволял бы вам шифровать / дешифровать данные на основе учетных данных пользователя, аналогичных DPAPI, поэтому вам придется делать это самостоятельно.Документация предполагает, что в Windows Phone 7 доступны следующие алгоритмы:

  • AES
  • HMACSHA1
  • HMACSHA256
  • Rfc2898DeriveBytes
  • RSA
  • SHA1
  • SHA256

Эти алгоритмы должны дать все, что вам нужно для создания достойной схемы шифрования, и она должна быть достаточно хорошейчто вы шифруете чувствительные столбцы в схеме базы данных, а не всю базу данных.

Единственная проблема заключается в том, чтобы выяснить, какой ключ использовать.Если можно запросить пароль у пользователя (это очень зависит от типа приложения, которое вы создаете), то вы можете использовать Rfc2898DerivedBytes для получения пароля из пользовательского ввода.В противном случае вы можете создать ключ из некоторых данных устройства.(см .: Как получить симметричный ключ в Windows Phone 7? ) После получения ключа вы можете использовать AES для шифрования.

Я знаю, что это именно то, что выхотел, но по крайней мере должен указать вам в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...