3

我正在尝试对我的 db 文件进行加密,因此没有密码就没有人可以访问它,所以我首先想到的是使用内置的 SQLite 加密,这是我用来为数据库创建密码的代码

public void SetPassword(byte[] password)
{
    _dbConnection.SetPassword(password);
}

但真正让我感到惊讶的是,任何人都可以使用非常简单的代码轻松删除密码并查看数据库的内容,例如

public void RemovePassword(SQLiteConnection conn)
{
    conn.ChangePassword(null);
}

所以我想知道如果可以那么容易地删除它,那么该内置加密有什么用?!。还是我对我提到的事情有误?

4

1 回答 1

4

好的,解决方案很简单:

当使用密码为数据库设置密码时

.SetPassword(password);

除非您使用旧密码合法连接到数据库{或以某种方式破解数据库:D},否则不能使用 changepassword 功能简单地删除或更改它

.ChangePassword(password);
于 2013-03-01T00:36:36.023 回答