Encriptação de database SQLite3 – determinação da biblioteca de criptografia?

Estou considerando apoiar bancos de dados de sqlite criptografados para um aplicativo PHP. Estou usando a extensão SQLite3 do PHP e, aparentemente, eles já suportam um método de criptografia, pelo menos a construção SQLite3 :: __ permite que uma chave de criptografia seja aprovada.

O que eu não consegui descobrir é, na qual biblioteca de criptografia eles estão falando na documentação. Ao pesquisar, encontrei o seguinte:

O que não é claro para mim é:

  • como essas bibliotecas se integram com o SQLite3
  • se compartilharem compatibilidade entre si com relação à especificação da chave de criptografia e configuração de access a dados, etc.
  • se eu puder detectar automaticamente no meu aplicativo, se houver, e qual biblioteca de criptografia minha instalação SQLite3 está sendo suportada, então seria possível que meu aplicativo ofereça suporte a diferentes bibliotecas de criptografia

Qualquer ajuda é muito apreciada!

Tanto quanto sei, a senha que você passar para o PHP aberto só funcionará se você estiver usando uma versão do SQLite compilada com suporte de criptografia (ou seja, a criptografia não funciona em uma compilation padrão).

Tivemos alguns usuários usar com sucesso o SQLCipher com PHP criando o software PHP com a base de código SQLCipher. Mais informações estão disponíveis no tópico aqui:

http://groups.google.com/group/sqlcipher/browse_thread/thread/6d77e4ef2a1530d7

A biblioteca SQLite3 precisa ser criada com suporte para criptografia. Esses projetos (e alguns mais: https://stackoverflow.com/a/5877130/502789 ) podem ser usados ​​para obter um sqlite3.so/dll com suporte a criptografia.

Então, as perguntas …

  1. Eles não se integram com sqlite. Eles oferecem uma biblioteca sqlite3 de substituição com suporte de criptografia
  2. O Vanilla SQLite3 fornece a API necessária para criptografia, mas não é implementada. Eu acredito que SQLiteCrypt usa sua própria API e, portanto, não funcionará aqui (não me citar sobre isso).
  3. Sua instalação do SQLite3 não o suporta, você precisa substituí-lo por uma biblioteca SQLite3 compilada com esse recurso (veja as opções que eu liguei).

NB: Não usei a criptografia PHP + SQlite3.

Uma postagem que pareceu útil para criptografia SQLite foi postada e admin explicando como usar sqlcipher http://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/14965-android-database-encryption-sqlcipher-library. html