我正在开发一个使用SQLite的数据库的应用程序。我正在使用用于SQLite的Devart dotconnect(http://www.devart.com/dotconnect/sqlite/)以及.NET 4.5中的实体框架来与数据库进行交互。我有兴趣使用加密来保护数据库。我也看过这篇文章(SQLite with encryption/password protection)。乍一看,它看起来像Devart和实体框架支持的唯一加密是SEE,许可证花费2000美元。是否有人知道任何与此设置兼容的开源解决方案?我对实体框架很陌生,所以我甚至都不确定当实体框架解密数据库时发生在幕后的所有事情......也许还有一个我没有考虑过的选择?由Entity Framework支持的开源SQLite数据库加密?
0
A
回答
0
那么它已经5天了,没有人回答,所以我会把我的发现。 除了SEE,CEROD和SQLiteCrypt之外,我没有发现dotConnect SQLite特别支持的任何其他加密方法。 SQLiteCrypt似乎是最便宜的,但功能也最少。我假设它由dotConnect SQLite支持,因为它有一个选项(请参阅here)。从我的研究来看,如果你的预算紧张,想要保护你的数据库,你将不得不使用SQLiteCrypt或者通过隐藏它来保护数据库的安全(这可能只会阻止普通用户搞乱数据)。请记住我的要求是使用dotConnect SQLite和Entity Framework。没有这些限制,还有更多可用选项。
0
我已经在两个小项目中使用了开源System.Data.SQLite
提供程序,两者都要求以某种方式保护数据库。您可以阅读提及的细节:
加密的数据库支持。加密的数据库完全加密 和支持二进制和明文密码类型
在项目的features page。
0
对于默认加密System.Data.SQLite
使用: 创建空数据库并运行下面的程序,然后在应用程序的连接字符串中使用password属性。
void Main()
{
// Connection strings:
string sqliteDBFile = @"C:\temp\test.db";
string connStr = @"data source=" + sqliteDBFile;
string password = "password";
// Query create all the tables in the database:
string sql = @"CREATE TABLE...";
// Connection code:
SQLiteConnection cnn = null;
try {
cnn = new SQLiteConnection (connStr);
cnn.Open();
cnn.ChangePassword (password);
SQLiteCommand myCommand = new SQLiteCommand (sql, cnn);
myCommand.ExecuteNonQuery();
} catch (Exception e) {
Console.WriteLine ("Caught exception: " + e.Message);
Console.ReadLine();
} finally {
if (cnn != null) {
cnn.Close();
}
}
}
相关问题
- 1. NHibernate vs Entity Framework 4.1中的数据库支持
- 2. 确实Entity Framework支持数据库视图?
- 3. sqlite&mono&Entity Framework - 是否有任何开源库可用?
- 4. tvOS支持sqlite数据库?
- 5. 支持Unicode数据的SQLite数据库
- 6. 哪些数据库支持加密
- 7. 数据绑定使用SQLite和Entity Framework
- 8. 在预填充的数据库中使用SQLite + Entity Framework
- 9. SQLite数据库加密C#?
- 10. SQLite数据库加密
- 11. SQLite支持的数据库格式?
- 12. System.Data.Sqlite是否支持Entity Framework 6?
- 13. Linq to SQL vs Entity Framework,Microsoft支持
- 14. Entity Framework Core是否支持MariaDB?
- 15. 为什么Entity Framework不支持ODBC?
- 16. 加密SQLite数据库中的密码?
- 17. sencha touch2是否支持SQLite数据库?
- 18. 在Entity Framework中使用Entity Framework作为Sharepoint 2010中Web部件的数据源
- 19. 无法附加加密的SQLite数据库:“无法打开数据库文件”
- 20. 使用Entity Framework 4.1和SQLITE
- 21. sqlite数据库不支持2.1,2.2版本但2.3支持
- 22. 尝试加密Ozone Widget Framework的owfConfig.groovy中的数据源密码
- 23. 支持BOSH的开源XMPP库
- 24. 如何加密/解密SQLite数据库中的数据?
- 25. 如何在Android中打开加密的sqlite数据库?
- 26. 支持加密的免费嵌入式数据库(.NET)
- 27. OpenSplice DDS开源实现支持 - 数据库事务处理?
- 28. 替代SQLite数据库加密
- 29. Sqlite数据库备份和加密
- 30. 在Delphi中加密SQLite数据库OLEDB