37 次浏览【转载需注明来源】
看有一些同学还不太会操作sqlite加密数据库,例如不知道怎么创建sqlite加密文件;这里给出一个方案
首先加密数据库文件并不能通过nv等数据库管理工具创建,因为加密的sqlite是不标准的方案,sqlite官方并未提供加密功能;都是一些nodejs库根据开源协议更改过来的。
这里开始教学如何动态创建sqlite加密文件,首先大家需要通过这篇博客了解如何在快码FOF中使用Sqlite加密数据库:Sqlite加密数据库方案
准备和学习好如何使用sqlite加密数据库文件后;就可以通过本篇博客使用动态创建文件了;具体的代码如下:
<!文档类型 网页类型>
<网页 语言代码="中文">
<网页头部>
<网页信息 文档编码="UTF8" />
<网页信息 名称="页面视图" 关联数据="视图宽度=填充视图宽度,初始缩放值=1,最大缩放值=1,用户缩放状态=假" />
<网页信息 关联HTTP="兼容模式" 关联数据="最高IE版本" />
<网页标题>Document</网页标题>
</网页头部>
<网页主体>
<按钮 点击回调="查询数据库()">查询数据库</按钮>
<脚本>
//这里执行相关的JS代码
局部变量 数据库ID = null;
如果 (文件操作类.文件是否存在(文件操作类.取资源目录() + "/234.db") == 假) {
//不存在就创建数据库
数据库ID = sqlite客户端.数据库路径(文件操作类.取资源目录() + "/234.db", "12345", "4");
sqlite客户端.执行SQL语句(
(执行状态) => {
调试输出(执行状态);
//创建数据表完毕
sqlite客户端.执行SQL语句(
(执行状态) => {
调试输出(执行状态);
},
"INSERT INTO lorem VALUES ('12345')",
[],
数据库ID
);
},
"CREATE TABLE IF NOT EXISTS lorem (info TEXT)",
[],
数据库ID
);
}否则{
数据库ID = sqlite客户端.数据库路径(文件操作类.取资源目录() + "/234.db", "12345");
//存在就链接数据库
}
定义函数 查询数据库() {
sqlite客户端.查询SQL语句(
(查询状态) => {
调试输出(查询状态);
},
"select * from lorem",
[],
数据库ID
);
}
</脚本>
</网页主体>
</网页>
知识点: 第三个参数为“4”时则代表创建加密数据库文件,并设置加密兼容性为4
sqlite客户端.数据库路径(文件操作类.取资源目录() + "/234.db", "12345","4");
当然也可以直接这样【不设置加密兼容性,使用默认的强度】:
sqlite客户端.数据库路径(文件操作类.取资源目录() + "/234.db", "12345");
参考代码项目:Sqlite加密文件创建方案.zip
测试账号