`
xyz_lmn
  • 浏览: 65405 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android应用安全——数据安全

 
阅读更多

数据安全包含数据库数据安全、SD卡数据(外部存储)安全、RAM数据(内部存储)安全。

android中操作数据库可使用SQLiteOpenHelperContentProvider的方式。使用SQLiteOpenHelper操作数据库时,数据库存放在data/data/<packagename>/databases/目录,这个目录只能是应用自己访问,相对是安全的,但是root用户,这个目录也是透明的,因此,私密数据也要做到加密存储。使用ContentProvider操作数据时,本质上也是使用SQLiteOpenHelper,这时需要在AndroidManifest.xml来注册这个Provider,注册Provider就对外提供了访问这个数据库的接口,其他应用就可以访问这个数据库了,为了数据库数据安全就需要控制访问,如果不想对外提供访问只需在AndroidManifest.xml注册Provider时设置android:exported="false";如果想提供对外访问能力,最好设置android:readPermissionandroid:writePermission这两个属性,来分别指定对这个ContentProvider中数据读和写操作的权限。android数据库还要预防数据注入的攻击。

SD卡是一个公共的存储空间,只要申请了如下权限,就可以操作SD卡。也就是说SD卡数据是最不安全的,很容易被其他应用读取篡改,如果SD中存放数据,建议存放一些无关紧要的数据,重要数据加密存储或者存放到RAM中。

    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
 
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

RAM数据存储在/data/data/<package name>/files目录中,只允许当前应用访问,安全性较好,但是root后的机器也是可以被读取篡改的,这里的数据也不是绝对的安全,RAM的敏感数据也要加密存储。


数据安全最重要的是解决数据加密的问题,密钥存储问题,选择合适的加密方法。加密方法,密钥存储建议使用

Native本地库实现。


/**
* @author 张兴业
* iOS入门群:83702688
* android开发进阶群:241395671
* 我的新浪微博:@张兴业TBOW
*/

分享到:
评论

相关推荐

    安卓Android源码——安卓Android学习——数据存储.rar

    本压缩包文件"安卓Android源码——安卓Android学习——数据存储.rar"显然是针对安卓数据存储机制的学习资料,其中可能包含了相关的源代码示例和讲解。下面我们将深入探讨安卓中的数据存储方法。 1. **Shared ...

    安卓Android源码——安卓Android学习——数据存储.zip

    本资料包“安卓Android源码——安卓Android学习——数据存储.zip”(实际应为rar文件)包含了关于安卓数据存储的学习资源,旨在帮助开发者深入理解这一核心概念。 1. **Shared Preferences** Shared Preferences是...

    Android教材————

    这份"Android教材"包含了关于Activity生命周期、Service使用以及Content Provider的讲解,这些都是Android应用开发的核心概念。 首先,我们来深入理解第六讲——Activity生命周期。Activity是Android应用程序的基本...

    Android缓存——将数据以对象的方式缓存到本地

    CacheTestDemo项目可能包含了一个简单的Android应用,演示了如何使用SharedPreferences缓存登录用户名和密码的过程。开发者可以通过查看源代码,学习如何在实际项目中实现类似功能。 总结,Android缓存是提高应用...

    安卓Android源码——数据口袋.zip

    综上所述,"安卓Android源码——数据口袋.zip"是一个关于Android数据管理的实践项目,它涵盖了Android系统中的数据存储技术、数据共享机制、性能优化和安全策略等多个方面。通过深入研究这个项目,开发者可以提升...

    Android小应用——短信控制的浮动窗

    总结起来,实现"Android小应用——短信控制的浮动窗"涉及了Android权限管理、广播接收器、悬浮窗口的创建与管理、短信解析、动态内容更新、用户交互以及安全性设计等多个技术点。通过这个项目,开发者不仅可以提升...

    Android课程设计——背单词软件

    首先,Android Studio是Google官方推荐的Android应用程序开发工具,它基于IntelliJ IDEA,提供了丰富的功能和优化的Android开发体验。项目中的源文件很可能包含了XML布局文件、Java或Kotlin代码、资源文件(如图片、...

    Android项目实战——手机安全卫士开发案例解析word版

    总结起来,《Android项目实战——手机安全卫士开发案例解析》是一份全面的教程,它将引导开发者从零开始构建一个实用的Android应用,同时深化对Android系统及编程的理解,提升解决实际问题的能力。通过实践这个案例...

    Android项目实战——手机安全卫士开发案例解析

    在本“Android项目实战——手机安全卫士开发案例解析”中,我们将深入探讨如何构建一个类似于手机安全卫士的应用程序,这将涵盖Android应用程序开发的基础和高级概念。在这个项目中,我们将利用Eclipse开发环境,这...

    Android源码——数据库SQLite.zip

    总的来说,"Android源码——数据库SQLite.zip"的内容涵盖了SQLite在Android中的使用、数据库的创建与管理、SQL操作、事务处理、性能优化等方面的知识,对于深入理解Android应用的数据存储机制具有很高的学习价值。

    android理论学习——基本概念

    开发者可以自定义内容提供者,以实现特定数据模型的共享,这对于数据安全性和应用间的协同工作至关重要。 最后,我们要讨论的是**Intent和Intent-filter**。Intent是Android中的一个核心概念,用于在组件之间传递...

    android 应用 源代码——客户端

    在Android应用开发领域,源代码是学习和提升技术的关键资源。标题中的“android 应用 源代码——客户端”表明这是一个关于Android客户端应用程序的源码集合,这将涵盖多种功能和设计模式,对开发者来说极具价值。...

    Android多媒体应用——短信收发

    在本主题中,我们将深入探讨如何在Android应用中实现多媒体短信(MMS)的发送和接收功能,以及相关的源码解析。 首先,理解Android中的短信服务主要依赖于两个核心组件:`SmsManager`类和`BroadcastReceiver`。`...

    Android手机安全卫士源码Android项目实战——手机安全卫士开发案例解析.zip

    Android应用开发、Java编程语言、Android SDK、UI设计、多线程处理、数据存储(SQLite或SharedPreferences)、网络请求(HTTP/HTTPS、JSON解析)、权限管理(AndroidManifest.xml)、安全编程(防止恶意代码、数据...

    Android项目实战——手机安全卫士开发案例解析(随书代码文件

    总的来说,“Android项目实战——手机安全卫士开发案例解析”涵盖了Android应用开发的多个重要方面,包括基本的项目构建、功能实现、安全性和性能优化。通过实际操作和学习随书提供的代码,开发者不仅能掌握Android...

    安卓Android源码——数据的储存与读取.zip

    本资料包"安卓Android源码——数据的储存与读取.zip"可能包含了一些关于如何在Android平台上存储和检索数据的示例代码和讲解,这将帮助开发者更好地理解这一核心概念。 在Android中,有多种数据存储方式,每种都有...

    经典的Android项目——WordPress的Android应用.zip

    【Android项目解析——WordPress Android应用】 WordPress的Android应用是一个典型的移动平台上的内容管理和发布系统,它允许用户在手机或平板设备上轻松管理他们的WordPress博客。这个项目为开发者提供了深入理解...

    Android毕业设计——成语游戏.zip

    在本项目中,“Android毕业设计——成语游戏”是一个基于Android平台的应用程序开发实例,旨在让学生或开发者通过实际操作学习Android应用开发的相关技术和流程。这款应用可能包含一系列与成语相关的游戏功能,比如...

Global site tag (gtag.js) - Google Analytics