[发明专利]一种Flutter环境安全访问SQLite的方法在审
申请号: | 202110155323.8 | 申请日: | 2021-02-04 |
公开(公告)号: | CN112966278A | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 付树棣;张占永;胡学文;李永斌;胡金藏;王乾坤;罗海斌;王鹏 | 申请(专利权)人: | 北京高因科技有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06F16/174 |
代理公司: | 北京世誉鑫诚专利代理有限公司 11368 | 代理人: | 孙国栋 |
地址: | 100089 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flutter 环境 安全 访问 sqlite 方法 | ||
本发明涉及一种Flutter环境安全访问SQLite的方法。所述方法应用于Flutter项目,包括创建Flutter解密解压缩插件的流程、创建Flutter数据库加密插件的流程、数据库文件解压缩流程、加密流程、数据库查询流程。本发明提供的方法可以在Flutter项目可以保证数据库文件的安全性,通过压缩包的加密、密码的加密、数据库文件的加密,极大的提高了数据的安全性。
技术领域
本发明涉及数据安全技术领域,特别是一种Flutter环境安全访问SQLite的方法。
背景技术
数据的安全性对个人、企业、社会来讲都是非常重要的。如何保证数据库文件的安全性和查询时的便捷性,是开发过程中一个需要攻克的难题。原生系统(Android、IOS)中都有成熟的数据库文件(db文件)加密、数据库(SQLite)读取的方案。
但是,目前的Flutter环境下,Dart语言不支持对加密的压缩文件(zip文件)进行解密解压缩。Dart语言只支持创建数据库时对创建的表进行加密,不支持对已生成的db文件进行加密。因此,现有还没有成熟方案可以实现数据库文件(db文件)的加密,以及加密过后数据库文件的读取。
如果能提供一种技术方案,能够在Flutter环境下实现对加密处理过的数据库文件(db文件)如何能够快速的查询,并将查询结果交给Flutter项目使用,将是十分有意义的。
发明内容
为达到上述目的,.本发明提供了一种Flutter环境安全访问SQLite的方法,所述方法应用于Flutter项目,包括创建Flutter解密解压缩插件的流程、创建Flutter数据库加密插件的流程、数据库文件解压缩流程、加密流程、数据库查询流程:
创建Flutter解密解压缩插件的流程包括:
步骤1.2:预先创建Flutter解密解压缩插件;
步骤1.2:创建Flutter项目和Native之间的通信通道;
所述创建Flutter数据库加密插件的流程包括以下步骤:
步骤1.1:创建Flutter加密插件工程;
步骤1.2:创建Flutter项目和Native之间的通信通道;
步骤1.3:将加密数据库方法、打开数据库方法、查询数据库方法封装到插件中,供Flutter项目调用;
所述解压缩流程应用于Flutter项目,包括如下步骤:
步骤1:Flutter项目将加密过的zip文件下载到本地;所述zip文件为带密码的数据库文件的压缩文件,为原始数据库压缩文件;
步骤2:Flutter解压缩插件使用约定好的Platform Channel与Flutter项目进行通信,对zip文件进行解压缩,生成未加密的数据库文件,并将解压缩后的文件存到预定路径中;
所述加密流程包括如下步骤:
步骤1:Flutter项目读取未加密的数据库文件;
步骤2:Flutter项目调用Flutter数据库加密插件的加密方法;对数据库文件进行加密,加密完成。
进一步的,创建Flutter项目和Native之间的通信通道具体为:使用BasicMessageChannel创建Platform Channel,使用约定的Channel名称,实现Flutter项目和Native之间的通信。
进一步的,在加密流程中,步骤2中,对数据库文件进行加密具体为:遍历读取数据库文件中的每一张数据表,然后创建一个带有密码的数据表,并将原有表中的数据写入到加密后的数据表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京高因科技有限公司,未经北京高因科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110155323.8/2.html,转载请声明来源钻瓜专利网。