iOS SQLite 解密 SQLCipher

2023-11-03 05:32
文章标签 解密 ios sqlite sqlcipher

本文主要是介绍iOS SQLite 解密 SQLCipher,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iOS SQLite解密之SQLCipher
  官方集成文档:https://www.zetetic.net/sqlcipher/ios-tutorial

  SQLCipher:https://github.com/sqlcipher/sqlcipher

解密数据库
一、编译

  1. 这个步骤可参考文章:(http://www.cnblogs.com/eileenleung/p/5456907.html中Terminal 上安装 SQLCipher部分),作者写的很详细,就不啰嗦了。如果按照文中步骤make成功,下面2-6步骤可忽略,若make始终不成功,并报 openssl/rand.h 找不到错误;可以首先执行如下第6步骤(首先判断你的openssl路径和如下命令路径符合);如果没有安装openssl;老实执行2-6步骤:

    注意:如果在上作者文章中按照1,2步骤完成后,始终还是不能make成功,,可如下执行:

  2. make clean

  3. 安装brew命令:ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

  4. 安装openssl: brew install openssl

  5. 链接:    brew link openssl –force

  6. 关键一步:把第一步的 ./configure –enable-tempstore=yes CFLAGS=”-DSQLITE_HAS_CODEC” LDFLAGS=”-lcrypto” 命令 修改成 ./configure –enable-tempstore=yes CFLAGS=”-DSQLITE_HAS_CODEC” LDFLAGS=”-lcrypto -L/usr/local/opt/openssl/lib” CPPFLAGS=”-I/usr/local/opt/openssl/include” ,执行,成功,然后 make,编译成功;

  其中: “LDFLAGS: -L/usr/local/opt/openssl/lib 和 CPPFLAGS: -I/usr/local/opt/openssl/include” 这两个路径可以使用命令: brew info openssl 找到。

  至此,编译成功,下面可以根据已加密的数据库文件和密码进行解密操作了,参考 二、解密 。

二、解密

1.切换到你的sqlcipher目录下,执行:./sqlcipher 要解密的数据库路径
2. PRAGMA key = ‘你的加密密码’;
3. ATTACH DATABASE ‘要解密的数据库名称(可以和第1步数据库名称不同)’ AS plaintext KEY ”;
4. SELECT sqlcipher_export(‘plaintext’);

  1. DETACH DATABASE plaintext;

  2. .q 退出

切换到你的sqlcipher目录下,就找到你刚才解密的数据库了,名称就是第3步的名称。

这篇关于iOS SQLite 解密 SQLCipher的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/335933

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

sqlite不支持中文排序,采用java排序

方式一 不支持含有重复字段进行排序 /*** sqlite不支持中文排序,改用java排序* 根据指定的对象属性字段,排序对象集合,顺序* @param list* @param field* @return*/public static List sortListByField(List<?> list,String field){List temp = new ArrayList(

【C#生态园】解密C# Web框架:选对框架,事半功倍

探秘C# Web开发利器:六款高性能框架与库详细解读 前言 在当今的软件开发领域,C#作为一种多用途编程语言,被广泛应用于各种类型的应用程序开发。特别是在Web开发领域,有许多优秀的C# Web框架和库,本文将对其中一些备受关注的框架进行介绍和比较,帮助读者更好地选择适合其项目需求的工具。 欢迎订阅专栏:C#生态园 文章目录 探秘C# Web开发利器:六款高性能框架与库详细解

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密 可以将表情,动物,水果,表情,手势,猫语,兽语,狗语,爱语,符号,数字,字母,加密和解密 可以将文字、字母、数字、代码、标点符号等内容转换成新的文字形式,通过简单的文字以不同的排列顺序来表达不同的内容 源码截图: https://www.httple.net/152649.html

iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

摘要 剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPad 和 Mac 之间无缝传输剪贴板内容,从而大大提高工作效率。 但是,iPhone 如何和 Wind

iOS项目发布提交出现invalid code signing entitlements错误。

1、进入开发者账号,选择App IDs,找到自己项目对应的AppId,点击进去编辑, 2、看下错误提示出现  --Specifically, value "CVYZ6723728.*" for key "com.apple.developer.ubiquity-container-identifiers" in XX is not supported.-- 这样的错误提示 将ubiquity