How to change PBKDF2_ITER in the process of building linux so


#1

In windows, I have change PBKDF2_ITER into 4000 in order to make sqlcipher faster before building dll.
But in android-database-sqlcipher-master, I don’t konw how to change the PBKDF2_ITER before building so.

Instead of compiling libsqlite3.so, I am trying to use PRAGMA cipher_default_kdf_iter = 4000;
Does the command affects the conn or next conn,


#2

If you use cipher_default_kdf_iter it will affect all connections created after that call is made.


#3

Thanks for your reply. It’s a good news for me that the command has effect as well as the application is running. Could I ask one more question.
I use sqlcipher in my C# application and use ExecuNoQuery() to make PRAGMA work.
If I exit my application and start it again,do I need use this command again ? I think the answer is yes.


#4

Hello @LiMingjian

Yes, that PRAGMA change @sjlombardo mentioned would only be valid while the program is running, you would need to set that again every time the application is launched. Also, while you mentioned changing the key derivation iteration length, you may wish to consult the SQLCipher Performance Guidance to make sure your application is structuring its interactions with SQLCipher properly.


#5

Thanks. the shorter opening time is useful because twenty-five databases will be opened in a short time.
following the guidance, I open each database only once while the program is running.