I'm afraid it's user authentication, not encryption. I'll paste a part of the above doc here: > Activate the user authentication logic by including the > ext/userauth/userauth.c source code file in the build and > adding the -DSQLITE_USER_AUTHENTICATION compile-time option. > The ext/userauth/sqlite3userauth.h header file is available to > applications to define the interface. > > When using the SQLite amalgamation, it is sufficient to append > the ext/userauth/userauth.c source file onto the end of the > amalgamation. > > The following new APIs are available when user authentication is > activated: > > int sqlite3_user_authenticate(...); > > int sqlite3_user_add(...); > > int sqlite3_user_change(...); > > int sqlite3_user_delete(...); > > With this extension, a database can be marked as requiring authentication. > By default a database does not require authentication. > > The sqlite3_open(), sqlite3_open16(), and sqlite3_open_v2() interfaces > work as before: they open a new database connection. However, if the > database being opened requires authentication, then attempts to read > or write from the database will fail with an SQLITE_AUTH error until > after sqlite3_user_authenticate() has been called successfully. The > sqlite3_user_authenticate() call will return SQLITE_OK if the > authentication credentials are accepted and SQLITE_ERROR if not. >