安卓应用安全

2024-04-29

我想开发一个用户数据非常敏感的应用程序。我是开发新手。所以不确定以下内容 技术对于安全或高效来说是必要的。请留下您的评论。提前致谢。

  1. 为了额外的安全性,我们可以避开市场(游戏商店)并将应用程序安装在个人设备上。它会让它更安全吗?

  2. 我必须在设备上存储数据。我们如何确保数据安全,使其他应用程序无法读取它?


  1. 是的你可以不使用 Google Play 应用程序安装您的应用程序。这是否更安全取决于您的安全要求。一般来说,从 Google Market 安装应用程序比从其他来源安装应用程序要安全得多。如果您想避免任何类型的安装,您可以考虑使用/实施应用程序拦截器(例如)或 Kiosk 模式应用程序()

    安装的应用程序越少,潜在的攻击者就越少(恶意软件、特洛伊木马、潜在有害程序)您有。所以从这个角度来看:是的,确实如此。但是,只要您没有 root 设备,应用程序数据(数据库、首选项)就相当安全。写入 SD 卡的数据可以加密。

  2. 谈到未root的设备:应用程序数据(首选项和数据库)以非常安全的方式保存。没有其他应用程序可以访问它。写入 SD 卡的数据可以从任何具有权限的其他应用程序读取android.permission.READ_EXTERNAL_STORAGE or android.permission.WRITE_EXTERNAL_STORAGE。您必须加密这些数据。

    看着已取得 root 权限的设备:您(几乎)没有机会以安全的方式存储数据,因为用户/攻击者可以安装任何工具来分析完整的内存和存储。Almost意味着,您可以尝试尽可能隐藏您的加密/解密算法,这样就很难解密SD上的数据。最终,破解你的加密只是一个努力的问题。

p.s.如果你想深入了解技术细节,你可以看看.

p.p.s.想象一下以下场景:有人偷了你的手机并root了你的手机。在这种情况下,盗窃者很容易复制数据库并读取表中的所有内容。让我补充一下:这是可以很容易完成的事情,因为现在互联网上存在很多用于生根的工具和手册;之后访问应用程序数据也是如此。

加密会使读取应用程序数据变得更加困难,并且 - 如果您在每次应用程序启动时要求用户提供加密密码 - 它甚至可能是 100% 安全的(假设应用程序中未存储强密码,并且应用程序当盗窃者偷走它时,它没有运行)。当然,您还必须选择强大的加密算法(AES、Twofish,...)。

但是,只要您不丢失手机并且手机未root,您的数据很可能是安全的。我说最有可能的,因为过去存在许多漏洞,这使得获得系统范围的访问成为可能。

因此,您会发现这很大程度上取决于您的要求以及数据的敏感程度。

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

安卓应用安全 的相关文章

  • 用于 Kotlin 中单元测试的 BuildConfigField 模拟

    我正在尝试尽可能多地涵盖Kotlin Android 库我遇到了有关自定义 BuildConfig 变量的问题 更广为人知的是buildConfigField 我想模拟这个变量来测试两者true and false values 从 Gra
  • Android中将JSON数据存储到本地数据库

    好的 我创建了一个应用程序 它使用 JSON 从我的服务器检索数据 现在我想将检索到的数据存储在手机的本地存储 数据库中 我该怎么做 我是android编程新手 这是我从服务器收到的 JSON messages id 44 issender
  • 使用 proguard 混淆文件名

    我正在使用 proguard 和 Android Studio 混淆我的 apk 当我反编译我的apk时 我可以看到很多文件 例如aaa java aab java ETC 但我项目中的所有文件都有原始名称 有没有办法混淆我的项目的文件名
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • 嵌套 XML 布局文件

    android 有没有办法从另一个布局文件引用 xml 布局文件 为了更好地解释 我有一个名为layout1 xml 和layout2 xml 的布局文件 我可以从layout1 xml引用layout2 xml吗 用这个
  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • VOIP通话录音

    我正在开发一个在 android 中录制 VOIP 通话的项目 我没有找到任何解决方案 有很多应用程序支持手机上的 VOIP 录音 我找不到任何教程和帮助 立方体通话记录器 https play google com store apps
  • 自动删除 Firebase 通知

    我有一个问题 我都读过让通知在 5 分钟后消失 https stackoverflow com questions 15648699 make notification disappear after 5 minutes and 几秒钟后清
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • Android L,使用 joda.time 库的异常

    该应用程序适用于所有设备 包括 nexus 5 和 nexus 7 在 Android L 预览版上运行相同的应用程序时 应用程序崩溃了 我一直在调试 并且调用 DateTime 构造函数发现了异常 public static String
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • Android 操作项上的通知徽章

    我想在操作栏中放置的购物车图像上添加一个通知徽章 并以编程方式操作它 有帮助吗 您可以显示自定义MenuItem on ActionBar通过创建一个custom layout for MenuItem 要设置自定义布局 您必须使用菜单项属
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • 通过 Gradle 和 Android Studio 构建和运行应用程序比通过 Eclipse 慢

    我有一个多项目 10 个模块 每次构建大约需要 20 30 秒 当我在 Android Studio 中按 运行 时 每次都必须等待才能重建应用程序 这非常慢 是否可以在 Android Studio 中自动化构建过程 或者您对如何加快此过
  • XML 配置中的 screenName 不起作用

    我刚刚在我的应用程序中添加了对 Google Analytics 分析 的支持 但我无法
  • 动态更改按钮上的图像视图

    在我的应用程序中 我有按钮和ImageView 当我按下按钮时我想改变ImageView 我的可绘制文件夹中有 5 张图像 按下按钮时 ImageView 根据按钮单击一张一张地更改图像 我想要它的解决方案 感谢任何可以提供帮助的人 维护一
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 将 CCtray 与 Jenkins 结合使用,同时启用安全性(使用 HTTPS)

    我将 Jenkins 服务器配置为仅使用 HTTPS 并启用安全性 我也不喜欢任何未登录的人查看仪表板 即使它是空的 在这里 我禁用了 匿名 的 读取 访问权限 到目前为止 所有这些都完全符合我的喜好 但想要通过例如向远程客户端添加一些构建

随机推荐

  • mcrypt_crypt 的替代方案?

    根据 php 7 0 mcrypt decrypt 已被弃用 我有以下代码 intSize mcrypt get iv size MCRYPT RIJNDAEL 256 MCRYPT MODE ECB strSize mcrypt crea
  • Swift 中的 StrongLoop 环回示例

    我正在尝试在 Swift 中实现示例 LoopBack iOS 应用程序 创建 LoopBack iOS 应用程序 第 1 部分 http docs strongloop com display DOC Creating a LoopBac
  • MYSQL枚举:@rownum,奇偶记录

    我问了一个关于为查询结果创建临时 虚拟 ID 的问题 mysql 和 php 查询结果的临时 虚拟 ID https stackoverflow com questions 4063998 mysql php temporary virtu
  • 使用“容器ip”连接到docker容器

    我在 mac 上运行 docker 我想使用 docker 容器的 ip 不是虚拟机的 ip 连接到它 原因是 Spark 驱动程序将自身注册到容器 IP 172 17 0 2 并且从 mac 运行的客户端尝试连接到该地址 有没有办法从 m
  • HTML 列表元素:将父级宽度分成相等的部分

    我有一个父母 ol 和几个 li 中的项目 ol style display block li style display block Item 1 li li style display block Item 2 li li style
  • 使用 NaN 获取 pandas 系列模式的最快方法

    我需要找到 pandas groupby 对象或单个系列的模式 最常见元素 为此我有以下函数 def get most common srs from collections import Counter import numpy as n
  • 如何在 R 中按组对列进行排序

    我有一个 data frame 比如 df 如下所示 Hospital Name State Mortality Rate hospital 1 AA 0 2 hospital 2 AA 0 3 hospital 3 BB 0 3 hosp
  • 获取完整的 url,包括哈希后的查询字符串

    如何获得完整URL包括后面的字符串参数hash tag 我试着回应 url SERVER REQUEST URI echo url 之后的字符串hash tag不会读 佩卡的评论应该是一个答案 hash标签后面的字符串参数不发送到服务器 它
  • “以下对象被‘package:xxx’屏蔽”是什么意思?

    当我加载包时 我收到一条消息 The following object is masked from package xxx 例如 如果我加载testthat http www rdocumentation org packages tes
  • Haskell 长度函数实现

    我正在学习 Haskell 编程 我试图理解列表是如何工作的 因此我尝试编写两个可能的length功能 myLength a gt Integer myLength foldr x gt 1 0 myLength1 a gt Integer
  • 如何将 Angular2 用作非 SPA?

    我刚刚开始使用 Angular2 发现网上可以找到的所有教程都只解释了如何为单页应用程序 SPA 设置 Angular2 然而 对于我网站的主页 我仍然想使用 PHP 并且只在登录 注册 联系等几个地方使用 Angular2 如何初始化联系
  • 字典条目被覆盖? [复制]

    这个问题在这里已经有答案了 我发现一些输入没有存储在 Python 3 的字典中 运行这段代码 N int input How many lines of subsequent input graph for n in range N st
  • 如何在 if () 语句中声明变量? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 的条件或控制语句中声明和初始化变量 https stackoverflow com questions 1516919 declaring and initializing a variabl
  • CoreBluetooth XPC 连接无效

    public class BLE NSObject CBCentralManagerDelegate var centralManager CBCentralManager public override init super init s
  • 优化Gson反序列化

    优化反序列化的最佳方法是什么 我目前正在使用标准 Gson toJson 和 Gson fromJson 方法来序列化和反序列化一些复杂对象 我希望尽可能减少反序列化时间 如果重要的话 我的最复杂的对象包含 43 个变量 如果你想使用 Gs
  • 为什么这个多处理代码会失败? [复制]

    这个问题在这里已经有答案了 def sample pass Process target sample start Process target sample start 上面的代码失败并出现错误 已尝试在当前进程之前启动新进程 进程已完成
  • 选择 G 元素内的路径并更改样式

    本质上 我试图让除悬停的路径之外的所有路径都变成灰色 而选择的路径则保持其原始颜色 我已经能够将所有其他路径变成灰色 但是我在使用 select this 函数并实际访问我想要更改样式的路径时遇到了问题 看来我实际上已经成功地找到了 g 组
  • 如何在网格视图中突出显示文本的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 如何突出显示某个单词 https stackoverflow com questions 9546761 how can i highlight a word 我有一个网格视图和一个文本框 用于从列中
  • 使用java读取行并映射过滤数据[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions publi
  • 安卓应用安全

    我想开发一个用户数据非常敏感的应用程序 我是开发新手 所以不确定以下内容 技术对于安全或高效来说是必要的 请留下您的评论 提前致谢 为了额外的安全性 我们可以避开市场 游戏商店 并将应用程序安装在个人设备上 它会让它更安全吗 我必须在设备上