试图用C中的密码保护我的Sqlite3数据库

试图用C中的密码保护我的Sqlite3数据库,c,sqlite,password-protection,C,Sqlite,Password Protection,我按照中的说明操作,仍然可以在没有密码的情况下打开数据库 这是我正在使用的序列: sqlite3_open("DATA", &db); sqlite3_user_authenticate(db, "root", "1234", strlen("1234")); sqlite3_user_add(db, "root", "1234", strlen("1234"), 1); 我可以看到“sqlite_user”表(在调用sqlite3_user_add()之后)中有我的用户名和BLOB密

我按照中的说明操作,仍然可以在没有密码的情况下打开数据库

这是我正在使用的序列:

sqlite3_open("DATA", &db);
sqlite3_user_authenticate(db, "root", "1234", strlen("1234"));
sqlite3_user_add(db, "root", "1234", strlen("1234"), 1);
我可以看到“sqlite_user”表(在调用sqlite3_user_add()之后)中有我的用户名和BLOB密码,“isAdmin”字段=1

uname=根

isAdmin=1

pw=y▒▒%▒▒lH▒Ե

我在Linux中使用shell命令执行查询,例如:
sqlite3-line DATA.DB“从产品中选择*”

不确定,但完成后是否关闭数据库?可能有一个会话保持打开状态。是的,当然,DB在每个会话结束时都会关闭。如果您的sqlite3 shell版本没有支持此扩展,它将像正常情况一样打开数据库文件。(如果是,则无法提供用户名或密码…)不确定,但完成后是否关闭数据库?可能有一个会话保持打开状态。是的,当然,DB在每个会话结束时都会关闭。如果您的sqlite3 shell版本没有支持此扩展,它将像正常情况一样打开数据库文件。(如果是,则无法提供用户名或密码…)