因为工作需要,使用的是sqlite存储数据。
不同于其他远程服务器上的数据库,sqlite数据库是一普通文件形式存在于本地,使用免费工具如sqliteExport Personal可以轻松查看到文件中的数据。因此,要保护数据,必须进行数据库的加密。
sqlitefor .Net Framework提供的是System.Data.sqlite.dll,其中已经实现了加密功能,因此直接使用即可。
在首次创建sqliteConnection连接时,可以使用ChangePassword接口来创建访问密码,当然也可以用来修改现有的访问密码。
代码如下:
该加密方式采用RSA算法,兼容ADO.NETProvider。
加密后的文件无法使用sqlite Export Personal免费工具打开,但是可以使用sqlite2009 Pro Enterprise Manager等工具打开。
sqlite2009 ProEnterprise Manager打开时会选择相应的加密方式和输入密钥。
在C#中访问数据库的时候,只需要在连接字符串中加入相应Password即可。