SQLite无法使用密码加密打开数据库

时间:2017-05-11 17:02:39

标签: c# sqlite mono

我正在使用SQLite处理Unity项目。当我打开加密数据库时,会显示以下错误消息:

  

EntryPointNotFoundException:sqlite3_key   Mono.Data.Sqlite.SQLite3.SetPassword(System.Byte [] passwordBytes)   Mono.Data.Sqlite.SqliteConnection.Open()SQLiteHandler.Start()(at   资产/脚本/ SQLiteHandler.cs:18)

这是我的连接代码,既不将密码放入连接字符串也不使用SetPassword工作。

connString = string.Format("Data Source={0};Version=3;Password=testing123",Application.dataPath+"/demodb.db");
using (conn = new SqliteConnection (connString)) {
    conn.Open ();
    //do something
    conn.Close ();
}

1 个答案:

答案 0 :(得分:1)

Mono.Data.Sqlite不支持密码保护,它不包括两个关键入口点sqlite3_key和sqlite3_rekey。因此,最好寻找其他扩展或库。

这是一个有用的Unity包SqlCipher4Unity  这非常适合密码保护。