2020-09-20

加密sqlite3数据库文件

目录

  • EncryptSqlite3
  • 实现原理
  • 使用方法
  • 不足之处

GitHub地址

EncryptSqlite3

加密sqlite3数据库,产生的数据库文件别人打不开。

实现原理

  1. 在写入文件前对每个字节加密,这样存入文件的就是加密后的数据。
  2. 将从文件读取的数据每个字节都解密,这样就得到正确数据用于处理。
  3. 可以搜索c/sqlite3.c和go/sqlite3-binding.c这两个源码中的(ENCRYPT_SQLITE3)宏,分析代码就行。

使用方法

在./c/和./golang/目录中都有build.bat和build.sh在windows环境使用cmd进入目录执行.\build.bat即可在Linux环境进入目录后执行./build.sh即可可以使用编译后的官方控制台程序./c/sqlite3 t.db来通过命令行读写sqlite3文件

不足之处

由于写入和读取位置由sqlite3控制,因此加解密都只能为针对单字节。因为大多数对称加密都需要从头开始加解密,像AES有些模式后面加密的数据依赖前面加密的结果。所以我在本项目中实现的仅仅是将每个字节和密钥进行异或,这是最简单的单字节加解密。当然如果别人知道这个这个规则,最多尝试255次就能破解。当然我有一些自己的想法,比如做一些随机数混淆单字节数据,但需要设计可靠的加解密逻辑,有兴趣的可以自己尝试吧。


原文转载:http://www.shaoqun.com/a/476447.html

派代:https://www.ikjzd.com/w/2197
转运四方:https://www.ikjzd.com/w/1342
Shopee禁止卖家要求买家将包裹退回中国大陆/亚马逊再推热销自营产品Echo Buds耳机:https://www.ikjzd.com/home/108544
2019年独立站再度兴起,揭晓Facebook广告新打法!:https://www.ikjzd.com/home/16412
连亏5年,这家市值5.5亿美元的跨境电商巨头要凉凉?:https://www.ikjzd.com/home/10222

目录EncryptSqlite3实现原理使用方法不足之处GitHub地址EncryptSqlite3加密sqlite3数据库,产生的数据库文件别人打不开。实现原理在写入文件前对每个字节加密,这样存入文件的就是加密后的数据。将从文件读取的数据每个字节都解密,这样就得到正确数据用于处理。可以搜索c/sqlite3.c和go/sqlite3-binding.c这两个源码中的(ENCRYPT_SQLITE
easybuy:https://www.ikjzd.com/w/2162
ensogo:https://www.ikjzd.com/w/1485
教你一招轻松偷走竞争对手的粉丝,玩转黑五​!:https://www.ikjzd.com/home/110665
共渡疫情!12大跨境平台政策变动汇总!:https://www.ikjzd.com/home/115326
亚马逊推出新功能,轻松获取回头客!:https://www.ikjzd.com/home/19912

No comments:

Post a Comment