位置: 编程技术 - 正文

sqlcipher 命令行给db外部加密的实现(sql命令语句)

编辑:rootadmin
关于Sqlcipher的加密解密

推荐整理分享sqlcipher 命令行给db外部加密的实现(sql命令语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlcipher命令行密钥错误会提示吗,sql中命令,sql命令语句,sqlplus命令行执行sql文件,sqlplus 命令行,sqlplus 命令行,sqlcipher命令行密钥错误会提示吗,sqlcipher命令行密钥错误会提示吗,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要实验目的:外部用sqlcipher命令行给已有的数据库文件加密,而在Android程序中解密应用。

1. 首先 sqlcipher命令行Linux环境搭建。

view plaincopy1.解压 unzip -q sqlcipher-master.zip cd sqlcipher-master [plain] view plaincopy2.编译 ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto" make

编译完就会出现一个sqlcipher的可执行文件。

说明,在ubuntu.环境下configure sqlcipher 会出现诸多error,经过反复查找问题,发现原来是编译环境缺少东西,主要缺少openssl相关库:

sudo apt-get install openssl sudo apt-get install libssl-dev

以及gcc也做了不同版本的测试。

最终configure完成后,make的过程又出现一些莫名其妙的error, 在头文件以及alter.c文件缺少* )之类的。

由于坚信源码不会有什么问题,肯定是编译过程哪里出的毛病,所以回头看看configure,发现出现 tclsh cannot found的警告。

于是 apt-get install tclsh8.5 安装完成。

删除之前编译的工程,重新configure 以及make。终于编译通过,成功生成sqlcipher可执行文件。

sqlcipher 命令行给db外部加密的实现(sql命令语句)

2. Sqlcipher使用

(当然,如果没有安装Sqlite3 ,还需要apt-get install 安装一下)

和sqlite差不多的用法

[plain] view plaincopy./sqlcipher test.db #创建一个db文件 sqlite> PRAGMA key = 'test'; #设置密码 sqlite> .e #退出

三、把没加密的db文件进行加密步骤:

[sql] view plaincopy1.先用sqlite打开db文件 sqlite3 test.db

[plain] view plaincopy2.把数据导成sql&#;式 sqlite> .output test.sql sqlite> .dump sqlite> .e

[plain] view plaincopy3.加密 ./sqlcipher test2.db #创建一个新的db文件 sqlite> PRAGMA key = 'test'; #设置密码 sqlite> .read test.sql #导入数据 sqlite> .e #退出

完成,生成的test2.db文件就是一个加密过的db文件了。

以上是前期使用过程,后面讲述遇到的问题。

1、如何判断是否有加密过?

[plain] view plaincopy./sqlcipher test.db #没加密过的 sqlite> .schema CREATE TABLE XXXXXX... #显示了表的创建语句

[plain] view plaincopy./sqlcipher test2.db #没加密过的 sqlite> .schema Error: file is encrypted or is not a database 对于加密过的db文件,如果不先输入密码,后续关于数据库的操作都不能执行,都会出现Error: file is encrypted or is not a database错误

3. 将加密好的文件copy至Android终端下,通过Android代码入口可以成功访问数据库文件。

android sqlcipher使用详情参见上一篇文章

版权声明:本文为博主原创文章,未经博主允许不得转载。

关于Android查询本地视频文件、获取缩略图,并且让缩略图以相同大小显示、给缩略图添加白色边框效果 最近工作中遇到要查询本地的视频文件,以GridView分页显示视频缩略图,并且对不同视频分辨率的缩略图显示相同的大小,还要对缩略图添加圆角以及白

Android通过HttpURLConnection获取JSON并进行UI更新 本例子中使用的是:HttpURLConnectionThreadHandler的组合,在newThread中通过HttpURLConnection获取JSON数据后并在Handler里对UI界面进行更新。也可以用过HttpClient,Asyn

AnalogClock 网上看过很多人写的AnalogClock,但是很多都不完整或无法运行,于是自己结合DeskClock源码,写了一个小的demo,步骤大致入如下:1、自定义View,通过Analog

标签: sql命令语句

本文链接地址:https://www.jiuchutong.com/biancheng/378075.html 转载请保留说明!

上一篇:android apk 混淆方法(安卓apk混淆工具)

下一篇:关于Android查询本地视频文件、获取缩略图,并且让缩略图以相同大小显示、给缩略图添加白色边框效果(android查询数据库)

  • 银行本票与银行本票存款的区别
  • 无形资产开发阶段计入什么科目
  • 企业贷款合同签订后多久放款
  • 机耕道属于水利还是土地整治
  • 小规模纳税人增值税优惠政策2023
  • 开具3%增值税发票
  • 房地产增值税怎么算抵扣土地款
  • 金蝶财务软件固定资产模块固定资产调拨
  • 资产类期末借方余额怎么算
  • 矿泉水资源税计税依据
  • 法律关系的内容是指
  • 企业所得税研发费用100%扣除的有哪些企业
  • 少交了增值税怎么补
  • 空白发票作废后验旧显示不了
  • 餐饮增值税
  • 税字号是不是纳税人识别号
  • 收入确认的
  • 会计做账中记账表怎么做
  • 挂靠的工程个人所得税怎么交?
  • 分担总部费用
  • 公司党支部的费用入账
  • 资源税计税依据含不含增值税
  • 设置按住键盘重启怎么弄
  • 保险费做什么会计分录
  • 员工的出差补贴计入什么科目
  • 生产成本的主要分析方法
  • 密歇根湖怎么读
  • php foreach循环遍历数组
  • 跨区域涉税事项报告表在哪里打印
  • 更改税种需要哪些资料
  • 亏损企业所得税怎么交
  • web后端开发是什么意思
  • php框架基础教程
  • 花生油代加工厂
  • 小规模年销售额500万界定标准
  • 职工教育经费申报表如何填写
  • 秸秆回收加工项目
  • 固定资产投资入股是否缴纳增值税
  • 母公司吸收合并全资子公司
  • 固定资产报废处置的请示
  • 营业税金及附加是什么科目
  • 什么叫政府补贴学位生
  • 收到退回的文化事业建设费会计分录
  • 基建罚款支出计算方法
  • 出口退税没有及时申报
  • 月末本年利润借方余额表示什么
  • 事业单位的职工可以办营业执照吗
  • 有净残值的固定资产怎么计提折旧
  • 什么是雇主责任险保单
  • 项目开票分录
  • 作废的发票对方还能认证吗
  • 待抵扣进项税额什么意思
  • 应收账款坏账准备借贷方向
  • 销售酒怎么结转销售成本
  • 预付调整到其他应付款
  • 会计做账工作总结
  • sql server 2000安装好打开不显示名称和服务原因
  • windows vista可以换7吗
  • fedora19
  • windows关机蓝屏是怎么回事
  • slpv24s.exe - slpv24s是什么进程
  • xp系统电脑开机密码忘记了
  • Win10手机版校
  • win10无法打开wifi列表
  • linux中使用find命令查找文件
  • windows8开机启动项设置
  • cocos2dx官方教程
  • cocos2dx入门
  • perl里怎么对数组实现一次遍历
  • pycharm安装教程2020.2
  • python 解析
  • nodejs 函数
  • js合并字符串
  • 江苏税务局开票在哪看的
  • 电子税务局打印发票提示本机未检测到
  • 徐州房产过户手续流程
  • 内蒙古税务总局网站官网
  • 自然资源税税率
  • 收购农民自产农产品可以使用现金
  • 临沂市2020年居民燃气价格
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设