# Generate passphrase isuue

**URL:** <https://discuss.zetetic.net/t/generate-passphrase-isuue/5900>\
**Category:** SQLCipher\
**Created:** [April 28, 2023, 8:54am UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900 "2023-04-28T08:54:23Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yosra](https://avatars.discourse-cdn.com/v4/letter/y/41988e/32.png) [@Yosra](https://discuss.zetetic.net/u/Yosra)\
**Post date:** [April 28, 2023, 8:54am UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/1 "2023-04-28T08:54:23Z")

</div>

I got this exception after adding SQLCipher encryption on SQLDelight database " net.sqlcipher.database.SQLiteException: file is not a database: , while compiling: select count(\*) from sqlite\_master;"

---

<div class="post-metadata">

**Author:** ![sjlombardo](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/sjlombardo/32/3_2.png) [@sjlombardo](https://discuss.zetetic.net/u/sjlombardo)\
**Post date:** [April 28, 2023, 2:07pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/2 "2023-04-28T14:07:01Z")

</div>

Hello @Yosra - that error would indicate that you are using an incorrect key for the database.

---

<div class="post-metadata">

**Author:** ![Android1500](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Android1500](https://discuss.zetetic.net/u/Android1500)\
**Post date:** [May 6, 2023, 7:17am UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/3 "2023-05-06T07:17:37Z")

</div>

so if key wrong then how to get right one if we forget

---

<div class="post-metadata">

**Author:** ![sjlombardo](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/sjlombardo/32/3_2.png) [@sjlombardo](https://discuss.zetetic.net/u/sjlombardo)\
**Post date:** [May 8, 2023, 4:45pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/4 "2023-05-08T16:45:48Z")

</div>

Hello @Android1500 - there isn’t any way to recover a key if it is lost/forgotten.

---

<div class="post-metadata">

**Author:** ![Android1500](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Android1500](https://discuss.zetetic.net/u/Android1500)\
**Post date:** [May 8, 2023, 7:03pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/5 "2023-05-08T19:03:43Z")

</div>

Thanks for response so what should i do right now?

---

<div class="post-metadata">

**Author:** ![sjlombardo](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/sjlombardo/32/3_2.png) [@sjlombardo](https://discuss.zetetic.net/u/sjlombardo)\
**Post date:** [May 8, 2023, 9:02pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/6 "2023-05-08T21:02:07Z")

</div>

Hello @Android1500 - there is not much you can do. If you think you can remember the key, keep the database around. If not, there is no way to recover the database.

---

<div class="post-metadata">

**Author:** ![Android1500](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@Android1500](https://discuss.zetetic.net/u/Android1500)\
**Post date:** [May 10, 2023, 6:08am UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/7 "2023-05-10T06:08:55Z")

</div>

Thanks i found my key but i found a issue whenever i use createFromAssert() in roomdb it got crash and in error logs it show android.database.sqlite.SQLiteException: file is not a database: , while compiling: select count(\*) from sqlite\_master; i hope you have any solution and for more info i am using pre populated data from createFromAsset.

---

<div class="post-metadata">

**Author:** ![developernotes](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/developernotes/32/1309_2.png) [@developernotes](https://discuss.zetetic.net/u/developernotes)\
**Post date:** [May 10, 2023, 1:55pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/8 "2023-05-10T13:55:45Z")

</div>

Hello @Android1500,

I don’t believe the Room API supports interfacing with SQLCipher database files via the `createFromAsset(...)` function on the builder API. Internally \[1\], it uses the `SQLiteCopyOpenHelperFactory` \[2\], which in turn used the `SQLiteCopyOpenHelper` \[3\], which uses a `FrameworkSQLiteOpenHelperFactory` \[4\] to test access to the database, this is not aware of SQLCipher.

* * *

1. [room/room-runtime/src/main/java/androidx/room/RoomDatabase.kt - platform/frameworks/support - Git at Google](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/room/room-runtime/src/main/java/androidx/room/RoomDatabase.kt#1315) 

2. [room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt - platform/frameworks/support - Git at Google](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelperFactory.kt) 

3. [room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt - platform/frameworks/support - Git at Google](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt) 

4. [room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt - platform/frameworks/support - Git at Google](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/room/room-runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.kt#204)

---

<div class="post-metadata">

**Author:** ![Neil\_Jay\_Warner](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/neil_jay_warner/32/2175_2.png) [@Neil\_Jay\_Warner](https://discuss.zetetic.net/u/Neil_Jay_Warner)\
**Post date:** [March 13, 2024, 4:23pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/9 "2024-03-13T16:23:36Z")

</div>

why is it not necessary to encrypt/generate-a-secure/random password the passphrase/password?

---

<div class="post-metadata">

**Author:** ![mmoore](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.zetetic.net/mmoore/32/858_2.png) [@mmoore](https://discuss.zetetic.net/u/mmoore)\
**Post date:** [March 13, 2024, 6:20pm UTC](https://discuss.zetetic.net/t/generate-passphrase-isuue/5900/10 "2024-03-13T18:20:15Z")

</div>

@Neil_Jay_Warner

We don’t recommend hard coding a passphrase in application code. This post has some additional discussion about SQLCipher Database Key Material and Selection: [SQLCipher Database Key Material and Selection](https://discuss.zetetic.net/t/sqlcipher-database-key-material-and-selection/25)
