4

PHP アプリケーションで暗号化された sqlite データベースをサポートすることを検討しています。私はPHPのSQLite3拡張機能を使用していますが、それらはすでに暗号化方法をサポートしているようです.少なくともSQLite3::__constructは暗号化キーを渡すことができます.

私が理解できなかったのは、ドキュメントでどの暗号化ライブラリについて話しているかということです。ググってみると、以下が見つかりました。

  • sqlcipher
  • sqlite 参照
  • sqlite クリプト

私には明らかではないのは次のとおりです。

  • これらのライブラリが SQLite3 とどのように統合されるか
  • 暗号化キーの指定やデータアクセスの設定などに関して、それらが互いに互換性を共有している場合。
  • アプリケーションで自動的に検出でき、SQLite3 インストールがサポートしている暗号化ライブラリがある場合、アプリケーションがさまざまな暗号化ライブラリをサポートすることが可能になります。

どんな助けでも大歓迎です!

4

4 に答える 4

2

SQLite3 ライブラリは、暗号化をサポートして構築する必要があります。これらのプロジェクト (およびさらにいくつか: https://stackoverflow.com/a/5877130/502789 ) を使用して、暗号化をサポートする sqlite3.so/dll を取得できます。

それで、質問は...

  1. それらは sqlite と統合しません。彼らは、暗号化をサポートする代替の sqlite3 ライブラリを提供します
  2. バニラ SQLite3 は、暗号化に必要な API を提供しますが、実装されていません。SQLiteCrypt は独自の API を使用しているため、ここでは機能しないと思います (引用しないでください)。
  3. SQLite3 のインストールではサポートされていません。この機能でコンパイルされた SQLite3 ライブラリに置き換える必要があります (リンクしたオプションを参照してください)。

注意: PHP + SQlite3 暗号化は使用していません。

于 2012-03-03T14:28:54.997 に答える
1

SQLite暗号化に役立つと思われる1つの投稿が、sqlcipherhttp://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/14965-android-database-encryption-sqlcipher-libraryの使用方法を説明する管理者によって投稿されました。 html

于 2012-07-07T00:52:46.023 に答える
1

私の知る限り、PHP オープンに渡すパスワードは、暗号化をサポートしてコンパイルされたバージョンの SQLite を使用している場合にのみ機能します (つまり、暗号化はデフォルトのビルドでは機能しません)。

SQLCipher コードベースを使用して PHP ソフトウェアを構築することにより、一部のユーザーが PHP で SQLCipher を正常に使用することができました。詳細については、次のスレッドを参照してください。

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

于 2012-03-01T15:34:47.830 に答える