SQLite数据库(文件)
Posted wyp1988
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLite数据库(文件)相关的知识,希望对你有一定的参考价值。
- SQLite
- SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine.
- https://www.sqlite.org/index.html
- License: Public Domain, Open-Source, not Open-Contribution
- 管理工具
- 特殊语法
- 密码/加密
- SQLite有密码功能,并且设置密码之后,数据库文件就会被加密,可以使用notepad++的工具查看加密前后的文件内容,加密前都是明文,包括数据库元数据和数据等。
- SQLite for .NET (System.Data.SQLite)提供了在SQLiteConnection上修改/设置密码的函数:public void ChangePassword(string newPassword);
-
using (SQLiteConnection connection = new SQLiteConnection(dbFileConnectionString)) { connection.Open(); connection.ChangePassword(GenerateEncryptedDBPwd()); connection.Close(); }
- 为了信息安全,可以自行生成特殊密码
- 比如结合windows用户的sid和程序自定义的一个密钥组合起来使用AES加密得到密码。这样在客户端程序中,就可以为每个用户生成一个特定密码的数据库文件,那么不同用户的密码就不同了。同时保证了用户特殊性和程序特征。
-
System.Security.Principal.WindowsIdentity currentUser = System.Security.Principal.WindowsIdentity.GetCurrent(); string sid = currentUser.User.ToString();
- 在代码中构造连接字符串(不用自己拼各个部分了)
-
SQLiteConnectionStringBuilder builder = SQLiteFactory.Instance.CreateConnectionStringBuilder() as SQLiteConnectionStringBuilder; // set up connection string for user data db in code builder.DataSource = userDataDBFilePath; builder.Password = GenerateEncryptedDBPwd(); userDataDB = new UserDataContext(builder.ToString());
-
以上是关于SQLite数据库(文件)的主要内容,如果未能解决你的问题,请参考以下文章
当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作