sqlcipher - sqlcipher 的安全性如何?它被黑客入侵了吗?

2023-12-28

它在页面级别加密 SQLite 数据库,好吧,没问题!

但是你的源代码呢?它已编译,但即使已编译,有人也可以反编译它,检索您的密码并解密数据库吗?


SQLCipher 的安全性如何?

根据SQLCipher设计文档 http://sqlcipher.net/design/,它基于安全组件(AES、OpenSSL、HMAC_SHA1、PBKDF2,...)。如果这些说法是正确的,那对我来说听起来不错。

有点不寻常的是(至少对我来说),每页有一个随机 IV。这与典型的文件系统加密模式有些不同AES-XTS http://en.wikipedia.org/wiki/Disk_encryption_theory#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_.28XTS.29。 SQLCipher 使用的设计比 AES-XTS 有一定的优势,例如写入相同的数据again不会产生相同的加密页面。但是,可能存在缺点,例如我不太确定使用 SQLCipher 是否可以move or copy页面(将加密页面复制到另一个页面)。这可能是不可能的,但是从设计文档中我看不出如何防止这种情况。如果使用非标准加密模式,这就是风险:-) 但即使这是一个问题,它也不允许攻击者读取数据;它只允许某些类型的攻击。即使使用 AES-XTS,某些类型的攻击也是可能的,所以我不会太担心。

你的源代码呢?

为了保存信息,请勿将密码存储在代码中。相反,让用户输入密码,或将其存储在钥匙串中。这对于双方来说都是可能的Android http://developer.android.com/reference/android/security/KeyChain.html and iOS https://stackoverflow.com/questions/16459879/how-to-store-a-string-in-keychain-ios据我所知,但我不知道细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlcipher - sqlcipher 的安全性如何?它被黑客入侵了吗? 的相关文章

  • 尝试在模拟器上安装第二个 flutter 应用程序时出错

    我创建了一个简单的 flutter 应用程序并在 android 模拟器上运行它 效果还不错 现在我创建了另一个 当我尝试在模拟器上运行它时 我得到 Error ADB exited with exit code 1 adb failed
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 如何查看 Android 上的 Wi-Fi 是否已连接?

    我什至不希望我的用户尝试下载某些内容 除非他们连接了 Wi Fi 然而 我似乎只能判断是否启用了 Wi Fi 但他们仍然可以有 3G 连接 android net wifi WifiManager m WifiManager getSyst
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • Vimeo 视频在 Android 6 设备上停止播放

    我正在尝试在我的应用程序中播放 Vimeo 的视频 问题是在 Android 6 设备上 视频会在一定时间后停止播放 在 API 较低的设备上一切正常 时间取决于质量 对于下面提供的网址的视频 播放一定分钟 1 到 3 视频质量有多低 播放
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st

随机推荐

  • 检查苹果触摸图标

    我刚刚为网站设置了苹果触摸图标链接和图像 我想检查它是否有效 没有 iDevice 我很难执行此测试 有谁知道可用于执行此测试的工具 你可以尝试一下http realfavicongenerator net favicon checker
  • PowerShell 中互斥参数集:为什么会出现歧义?

    我一直在尝试让多组互斥发挥作用 我希望 Width 与 WidthReset 互斥 Height 与 HeightReset 互斥 cmdlet 的帮助显示 Get ArgTest Width
  • 对 IIS 上长时间运行的进程的担忧

    担忧 我读过描述 IIS 可以随时回收应用程序池的帖子 博客 这是否意味着 就 IIS 回收应用程序池而言 我是否以同步或异步方式调用长时间运行的进程并不重要 因为 IIS 可以回收应用程序池并终止长时间运行的进程 如果是这种情况 确保这种
  • 围绕形状进行 DIVS

    我一直在研究一个 CSS 网格 其元素围绕另一个网格浮动 但它对我不起作用 我可以使用 CSS Grid 来完成此任务 但我认为这不是正确的解决方案 我读到了有关 shape outside 的内容 但仅适用于文本块 以前有人遇到过同样的问
  • 除去字符串中除数字和货币分母之外的所有内容

    我有以下示例字符串 The price is 54 00 including delivery On sale for 12 99 until December European pricing 54 76 excluding UK 我只想
  • 除 ctrl-C 之外的另一种退出 IEX 的方法

    我知道我们可以使用 control C 退出 IEX 控制台 我很好奇是否有一个在控制台中输入的命令也可以做同样的事情 我可以想到退出 IEx shell 的 3 种方法 其中提到的
  • Charles Web 调试代理未检测到 VPN 连接

    我有一个 VPN 连接 正在使用 Charles Web 调试代理测试一些网站 但 Charles 似乎没有检测到我的 VPN 连接 因为它没有检测到我在 VPN 网络上运行的网站 有什么帮助吗 谢谢 我在 Mac 上遇到了同样的问题 但能
  • Spring Boot + Spring Security 授权成功审核

    有没有人设法让 Spring Boot 和 Spring Security 来处理 AuthorizedEvent 即审计日志 我已经实现了以下应用程序事件侦听器 Component public class AuthorizationSu
  • Sublime Text 3:从整个项目的任何地方自动完成?

    我想知道是否有任何方法可以从 Sublime 项目中的任何地方获得智能自动完成功能 我发现很酷的包叫全部自动完成 https sublime wbond net packages All 20Autocomplete哪些索引打开选项卡以进行
  • 验证 t-sql 中的日期?

    我只想验证用户的给定输入 Declare UserInput NVARCHAR 20 set UserInput 26 07 2013 select ISDATE UserInput 即使日期有效 也会返回 false 因为日期采用澳大利亚
  • Rails 3 用户时区

    在 Rails 2 x 中 我不需要专门设置任何时区信息 并且用户无论位于哪个时区 都会获得用户在操作系统中指定的日期时间 现在 在 Rails 3 中 所有内容都以 UTC 格式显示 是否可以恢复默认的查看行为 而无需放入一些 js ha
  • Kafka 不会以 PEM 证书启动

    我发现 Kafka 2 7 0 支持 PEM 证书 我决定尝试使用 DigiCert SSL 证书设置代理 我使用了新选项 我做了所有事情 就像示例中的那样KIP 651 https cwiki apache org confluence
  • IE7 Javascript 并使用字符串作为数组

    奇怪的行为 我只是发布这个问题 看看是否有人知道其原因 或者我的代码是否完全错误 string text yip let s take some weird character alert text 0 all major browsers
  • 如何通过OpenCV和python打开IP摄像头URL?

    我已经在 MacX Lion 上安装了支持 ffmpeg 的 opencv import cv2 import cv import base64 import time import urllib2 import numpy as np f
  • 在 Firefox 中加载图像时显示边框和标题

    我的火狐浏览器有问题 我的网站上有很多图片 当我在 Firefox 中浏览页面时 加载图像时边框和图像标题可见 下载完成后 该边框 标题就会消失并被图像取代 这种情况只发生在火狐浏览器中 Chrome 和其他浏览器加载没有任何边框和标题的图
  • Scala + Android 新手

    我正在尝试使用 scala andriod 插件 但在运行和配置 AVD 时遇到问题 我从 sbt 收到以下错误 android 模拟器启动 NexusOne 成功 总时间 0 s 完成 2011年11月18日 7 07 53 PM 模拟器
  • Rabbitmq 使用单个同步调用检索多条消息

    有没有办法使用单个同步调用接收多条消息 当我知道队列中有 N 条消息 N 可以是小于 10 的小值 时 我应该能够执行类似于 channel basic get String queue boolean autoAck int number
  • 通过 Crystal Web 服务以编程方式设置 Crystal Server 上 Crystal Report 的数据源

    如何更改在 Crystal 服务器中运行的 Crystal 报表在运行时使用的数据源 数据库服务器 用户名 密码 我有一台水晶服务器 并上传了具有一组数据源的报告 托管在服务器 A 用户 A 密码 A 上的 SQL Server 2005
  • Cache-Control: max-age=0 和 no-cache 有什么区别?

    标题Cache Control max age 0意味着内容立即被视为过时 并且必须重新获取 这实际上与Cache Control no cache 我有同样的问题 并在搜索中找到了一些信息 您的问题作为结果之一出现 这就是我所决定的 有两
  • sqlcipher - sqlcipher 的安全性如何?它被黑客入侵了吗?

    它在页面级别加密 SQLite 数据库 好吧 没问题 但是你的源代码呢 它已编译 但即使已编译 有人也可以反编译它 检索您的密码并解密数据库吗 SQLCipher 的安全性如何 根据SQLCipher设计文档 http sqlcipher