http://www.perlmonks.org?node_id=1010748


in reply to sqlcipher for sqlite

DBD::SQLite basically gets compiled from the SQLite source code, together with some Perl-specific C code ("XS code"). Simply replacing the SQLite.dll with a DLL that was not compiled from the XS code in DBD::SQLite will not work. You will have to recompile DBD::SQLite with the sqlcipher source code and then also think hard about the new API to pass the decryption key around.

Recompiling DBD::SQLite with the sqlcipher code should be fairly easy:

  1. Download the sqlcipher package
  2. Download and change into the DBD::SQLite package directory:
    > cpan cpan[1]> look DBD::SQLite
  3. Replace the sqlite3.c and sqlite3.h files with the files from sqlcipher
  4. Use the standard invocation to compile and install the module:

    perl Makefile.PL dmake dmake test dmake install