由于工作需要,最近一周以来研究sqlite数据库文件的解密方法。最终采用sqlcipher工具进行解密。由于sqlcipher的实现大多是支持android的,修改为纯java平台下的代码有难度,因此选择了通过sqlcipher脚本执行解密的方案。从调研到最终发布,共尝试了ubuntu,windows8, centos7这三种系统下的解密。
sqlcipher解密命令:
>>sqlcipher test.db //连接数据库
>>pragma key = "123"; //密钥
>>.tables //查看当前数据库下的所有表
ubuntu:
1.sqlcipher软件安装。
apt-get install sqlcipher 即可完成。
2.编写.sh脚本,通过附加数据库的方式导出解密后的数据库。
#!/bin/sh
#文件路径
path=$1;
#文件名
fileName=$2
#密钥
key=$3;
#导出文件名
outName=$4
echo "=======开始解密=========";
echo "输入参数为:"${path}" "${fileName}" "${key}" "${outName}
temp="\""${path}${outName}".db""\&#