使用C#代码设置密码后,为什么不能打开Sqlite数据库?

时间:2018-10-20 09:51:21

标签: c# sqlite encryption

我有一个SQLite数据库。我使用C#代码设置其密码。一切顺利,没有错误。但是,我无法使用“用于Sqlite的数据库浏览器”客户端打开它。

这是我的C#代码:

SQLiteConnection cnn = new SQLiteConnection(Config.ConnectionString);
cnn.Open();
cnn.ChangePassword(Config.DbPassword);
cnn.Close();
cnn.Dispose();

这是登录图片: enter image description here

编辑: 如果我将DB Browser用于SQLite选项“设置加密”,则在C#代码和DB Browser for SQLite中都可以正常工作。

1 个答案:

答案 0 :(得分:0)

对于面临此问题的其他任何人,我发现SQL根据此链接使用“ SQLCipher仅识别256位AES”:github.com/sqlitebrowser/sqlitebrowser/wiki/Encrypted-Databases和System.Data.SQLite;使用不同的加密。 因此,如果您只想加密SQLite数据库,则使用System.Data.SQLite即可。但是,如果要使用SQLCipher专门对其加密,请使用SQLitePCLRaw.bundle_sqlcipher程序包。