2

sqlcipher を使用してデータベースを暗号化したい。

私はos opensslとsqlcipherの統合を統合しましたが、ビルドは完璧に機能します。

しかし、私の問題は、データベースを暗号化できないことです。SQL暗号を使用してデータベースを暗号化するためにそのアクティビティまたはメソッドを実行する方法がわかりません。

SQL Cipherを読みましたが、同じプロセスを理解できません。彼らから提供されたコードを試しましたが、機能しませんでした。

編集: PRAGMAキーを同じように設定する方法と、暗号化を開始する方法を教えてもらえますか? 私の暗号化が完了するのはこの部分だけです。

この状況から私を助けてください。

前もって感謝します

4

1 に答える 1

4

SQLCipher を使用すると、真新しい SQLite データベースがあることを確認してください。データベースにキーをプラグマしようとすると、何らかの理由でデータが既に存在し、復号化が試みられます。

ここに、既存の SQLite データベースの操作に関する追加情報があります。この例の encrypted.db は、作成した新しいデータベースとプラグマです。

ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'secret'; -- create a new encrypted database
CREATE TABLE encrypted.t1(a,b); -- recreate the schema in the new database (you can inspect all objects using SELECT * FROM sqlite_master)
INSERT INTO encrypted.t1 SELECT * FROM t1; -- copy data from the existing tables to the new tables in the encrypted database
DETACH DATABASE encrypted;
于 2011-04-13T12:55:04.553 に答える