1. ホーム
  2. encryption

[解決済み] 暗号化/パスワード保護機能付きSQLite

2022-02-19 18:23:27

質問

SQLiteの使い方を学んでいるところですが、そのようなことが可能かどうか気になります。

  1. データベースファイルの暗号化?

  2. データベースを開く際にパスワードで保護するか?

PS. この "SQLite Encryption Extension (SEE)." があるのは知っているのですが、ドキュメントによると "The SEE is licensed software..." と "The cost of a perpetual source code license for SEE is US $2000." がありますね。

解決するには?

SQLiteには暗号化のためのフックが組み込まれており、通常の配布物では使用されていませんが、私が知っているいくつかの実装を紹介します。

  • SEE - 公式の実装です。
  • wxSQLite - SQLite の暗号化を実装した wxWidgets スタイルの C++ ラッパーです。
  • SQLCipher - openSSLのlibcryptoを使用して実装します。
  • SQLiteCrypt - カスタム実装、APIを変更。
  • ボタンスクライト3 - botansqlite3 は SQLite3 用の暗号化コーデックで、Botan の任意のアルゴリズムを暗号化に使用することができます。
  • スクリート - ChaCha20/Poly1305 プリミティブを使用した別の暗号化実装です。 上記のwxSQLiteはこれを暗号プロバイダとして使用できることに注意してください。

SEEとSQLiteCryptは、ライセンスの購入が必要です。

情報公開:botansqlite3は私が作成しました。