密码保护的SQLite数据库

时间:2013-02-28 21:33:54

标签: c# sqlite

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

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

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

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

所以我想知道如果可以轻松删除该构建在加密中的用途是什么?!或者我对我提到的事情有误?

1 个答案:

答案 0 :(得分:4)

好的解决方案很简单:

使用

将密码设置为数据库时
.SetPassword(password);

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

.ChangePassword(password);