首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓SQLite文件加密

安卓SQLite文件加密
EN

Stack Overflow用户
提问于 2016-01-26 18:33:06
回答 2查看 888关注 0票数 3

我正在构建一个SDK,用于一个托管应用程序。这个SDK包括使用SQLite处理DB。

其中一个要求是,数据库将被加密,以防止从设备中提取SQLite数据库并使用用户私有信息。

我开始使用SQLCipher,但不支持64位架构设备,这会导致应用程序崩溃。

我检查了一些其他的可能性,但它们都引起了其他问题,我决定自己来处理。

我的问题:

  1. Android对DB文件有加密机制吗?
  2. 我是否可以在应用程序启动时加密该文件,并在应用程序关闭时再次解密它?我知道在iOS中有一种叫做NSFileProtection的可能性
  3. 您知道其他可以处理DB加密、支持64位设备的库吗?
  4. 您知道在不使用JNI(javax.crypto)的情况下,是否有安卓解决方案?

我很乐意得到任何信息或帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-26 18:50:48

不支持64位架构设备。

SQLCipher在我使用过的64位设备上工作得很好。我似乎还记得一些有多个NDK库/代码的应用程序的一些问题,其中一些有64位库,有些则没有,存在问题。我建议您打开单独的堆栈溢出问题,或者使用其他支持资源(例如SQLCipher的支持板)来解决您的困难。

Android对DB文件有加密机制吗?

不是的。

我是否可以在应用程序启动时加密该文件,并在应用程序关闭时再次解密它?

不,有几个原因,其中最重要的原因是应用程序没有关闭Android系统。

您知道其他可以处理DB加密、支持64位设备的库吗?

不,并且请求场外资源被认为是堆栈溢出的非主题。

您知道在不使用JNI(javax.crypto)的情况下,是否有安卓解决方案?

这和第一个和第三个问题是一样的。

票数 4
EN

Stack Overflow用户

发布于 2017-09-21 10:23:45

您需要使用最新版本的这里。在使用3.5.4时,它解决了"java.lang.UnsatisfiedLinkError: dlopen failed:库“"libutils.so”未找到的问题。请查一下这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35021210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档