位置: 编程技术 - 正文

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查询数据库)

  • 研发设备可以一次性扣除吗
  • 发票密码区超出可以用吗
  • 担保人的损失
  • 房屋建筑物折旧率计算
  • 支付开票税款计入什么科目
  • 报表的应付款太大怎么调?
  • 免税企业收到增值税专用发票咋办
  • 应收账款减值处理
  • 消防增值服务
  • 关联方转移定价注意问题
  • 业务招待费怎么调整应纳税所得额
  • 建筑企业使用民工的税务风险你清楚吗?
  • 可供出售金融资产新准则叫什么
  • 非居民企业提供劳务企业所得税
  • 返利是冲减收入还是计入费用
  • 个人借公司款账务处理
  • mac如何重装系统win10
  • itunes无法链接
  • 工程施工怎么结转到成本里
  • 财务预提
  • 母公司是否应替子公司承担违约责任
  • 电子税务局清算备案能撤销吗
  • 代理 linux
  • 公债的本质是什么
  • 免税项目可以弥补税款吗
  • 企业提取盈余公积会引起所有者权益变动吗
  • 我找到了这个
  • vue+
  • 现金流量表结构分析
  • 电子承兑汇票是什么时候开始的
  • php pdo连接mysql
  • 行政单位基建账如何并入大账
  • kill命令机制
  • php入门基础教程
  • 应收账款周转天数减少说明什么
  • 未形成无形资产计入当期损益的
  • 财务中常有提到的问题
  • python怎么查看文件路径
  • 工会经费与教育经费比例
  • 兼职属于劳务关系吗
  • 两免三减半取消了吗
  • 企业会计准则子公司
  • 接受投资的固定资产按什么入账
  • 营改增后可以抵扣的进项
  • 车间拆除施工方案
  • 营改增后房地产企业如何开票
  • 转租收入如何入账
  • 公司注销时应付账款怎么处理
  • 库存不够如何结算成本
  • 去年的招待费做什么科目
  • 农产品加计扣除1%怎么计算和会计分录
  • 工会经费返还属于什么收入
  • 银行打对公回单
  • 企业应该设置的账薄
  • 如何远程连接小米摄像头
  • win10正式版激活码
  • window10预览在哪里找
  • centos7服务器配置
  • 如何在windows中添加字体
  • win8怎么进系统
  • Windows虚拟机怎么打开
  • win8系统崩溃无法开机
  • Win10 Mobile Build 10572 其它未记录更新内容汇总
  • svhost.exe - svhost是什么进程 有什么作用
  • centos 常用命令教程
  • 为什么win8系统的键盘输入不了字
  • 虚拟网卡在哪里设置
  • linux常用命令查看
  • node.js deno
  • unity相关问题
  • javascript详细介绍
  • js格式化输出数字
  • javascript中的数据类型分为两大类
  • js截取数组方法
  • 快速排序的算法流程图
  • 广告费扣除限额15%和30%
  • 河南运输客票查询管理条例
  • 百望税控盘怎么导出清单明细
  • 汽车装潢业务是干什么的
  • 国家税务总局每家公司都可以注册吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设