sqlcipherを使用してDBを作成し、パスワードキーの16進値を使用してアクセスしようとしています。github(https://github.com/sjlombardo/sqlcipher)の説明によると、キーはsha256アルゴリズムによってハッシュされ、DBの暗号化に使用されます。PRAGMAディレクティブを使用して、キーをプレーン形式と16進形式で提供する選択肢があります。プレーンバージョンを使用すると、すべて正しく機能しますが、六角レンチ値でDBにアクセスできません。たとえば、私の場合、キーは「デモ」であり、PRAGMA key='demo'
すべての作品を使用する場合です。私はsha256を手に入れました:
echo-nデモ| shasum -a256 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea
次に、sqlite3_exec呼び出しの指示に従って、PRAGMAディレクティブに提供します。
sqlite3_exec(db, "PRAGMA key = x'2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea'", NULL, NULL, NULL);
しかし、これは機能しません。
PRAGMAディレクティブに提供する必要があるキーの16進値は何ですか?