Вы можете использовать подпрограммы создания функций SQLite ( Руководство по PHP ):
$db_obj->sqliteCreateFunction('Encrypt', 'MyEncryptFunction', 2);
$db_obj->sqliteCreateFunction('Decrypt', 'MyDecryptFunction', 2);
При вставке данных вы можете напрямую использовать функцию шифрования и вставлять зашифрованные данные или использовать пользовательскую функцию и передавать незашифрованные данные:
$insert_obj = $db_obj->prepare('INSERT INTO table (Clear, Encrypted) ' .
'VALUES (:clear, Encrypt(:data, "' . $passwordhash_str . '"))');
При получении данных вы также можете использовать функцию поиска SQL:
$select_obj = $db_obj->prepare('SELECT Clear, ' .
'Decrypt(Encrypted, "' . $passwordhash_str . '") AS PlainText FROM table ' .
'WHERE PlainText LIKE :searchterm');