在移动应用开发中, 对于数据安全传输要求非常高, 尤其是涉及到用户财产安全的时候,都会对数据进行层层加密来确保数据的安全性 完整性;

`在这里演示:我将演示银行在移动应用上的数据加密;

传输的数据格式: json (别问我为什么不是xml? json已经是一种趋势了)

使用到加密工具: md5 3des ; 两者的加密算法写到C代码里面,java通过JNI调用C代码进行加密.

客户端:数据加密和传输

先上流程图….. ( 个人画图水平就这样了…如果有好的画图工具求推荐啊)

1 : 数据加密

本地数据md5 3DES加密算法, 强烈建议写到C代码里面, 在使用到加密时候通过JNI调用so库,防反编译;

将数据封装到一个实体Bean中, 我们项目是全部封装到了BusinessConnection Bean 中了, 这里还区分了基本数据( Common )和上层业务数据(Business ), 还有一个属性是md5 哈希值校验位( Sign ) ;

首先 将Common 和Business 数据转换成Json 数据格式;

其实 使用调用so库里md5算法对json 数据加密得到一个哈希值, 并将该哈希值赋值给 BusinessConnection 的sign 属性;

再其次 将BusinessConnection Bean转换成Json 数据格式字符串并格式化成UTF-8, 再使用3DES对该字符串进行二次加密.

最后,将加密的密文上传给服务器;

2 : 数据解密

解密也简单, 当服务器获得数据之后, 先通过3DES解密,UFT-8转码;

获得Commo 和Business Bean 的Json 字符串; 然后使用md5 加密获得哈希值,

将加密后哈希值和传进来的sign 哈希值对比, 如果哈希值一致, 说明数据是完整的, 传输的过程中没有被串改过( 这一步非常非常重要!);

服务器后台统一数据访问接口

统一服务器数据访问接口一来便于管理, 二是暴露的接口越少越能提供安全;

当移动端有很多的业务逻辑,同时访问一个服务器后台接口; 这个时候服务器后台根据客户端提交数据的中的一个交易码来区分哪个业务逻辑. 接着封装数据为json格式返回给客户端.

Duanggggg 个人银行项目小小总结 如果写得不好或你有不同见解欢迎评论~~

android网络传输数据加密,Android网络数据加密传输相关推荐

  1. 巧用Android网络通信技术,在网络上直接传输对象

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8967080 要做一个优秀的Android应用,使用到网络通信技术是必不可少的,很难 ...

  2. android各版本对比[取之网络,用之网络]

    Android 1.0, 代号Astro(铁臂阿童木), API等级:1,Android 1.0. 时间:2008.9.23 Android 1.0所拥有的特性功能: l Android Market ...

  3. Android开发之WIFI与网络连接处理

    网络连接处理 在说WiFi之前,先来说说网络连接处理. 在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络.判断设备是 ...

  4. android访问网络的方法,Android Http协议访问网络实例(3种)

    之前关于Android Http协议访问网络的一点分析,最近需要回顾,就顺便发到随笔上了 Android中http连接主要是为了获取网络数据,目前了解的有3种方法: Httpconnection -- ...

  5. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  6. android 7.0 短信监控,Android 7.0 监听网络变化的示例代码

    Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可. public class NetChangeReceiver extends BroadcastReceive ...

  7. android 使用广播监听网络状态

     网络状态发生变化的时候,系统会发出 android.net.conn.CONNECTIVITY_CHANGE . 下面是实现的 demo : package mark.zhang;import ...

  8. Android 监听 Android中监听系统网络连接打开或者关闭的实现代码

    本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.c ...

  9. android网络质量,基于Android的移动通信网络质量信息系统的设计与开发

    摘要: 水利信息化作为水利工程的一个重要的方向,需要稳定,高效,安全的移动通信技术.为了保障移动网络质量,必须对网络运行状况实时监控,快速发现网络问题,以便使网络运行在最理想的状况下.然而,现今的网络 ...

  10. android 之SharedPreferences,SDCard以及网络存储

    android 之数据存储分类: A.Shared Preferences:存储私有的数据以键值对的形式 B.内部存储:在设备的内存中存储私有数据 C.外部存储:在外部设备(手机SDCard等)存储共 ...

最新文章

  1. 不到 100 行 Python 代码教你做出精美炫酷的可视化大屏
  2. 用jenkins搭建android自动打包环境
  3. 读书笔记_C#入门经典(第5版)第四章_流程控制
  4. C#------引用System.Data.Entity后DbContext依然无法继承解决方法
  5. mysql上机实验报告3_SQL入门随笔(上机实验报告)
  6. 【数据库原理实验(openGauss)】数据库的备份与恢复
  7. windows服务器nginx日志分割
  8. 计算机c语言报告册,计算机c语言实验报告.docx
  9. 台式计算机无线网络,台式电脑如何使用无线上网?
  10. c++打印心形_c语言如何打印心
  11. Boost Log : Trivial logging
  12. MySQL数据库获取字段名
  13. php5.6解密软件,php解密:php5.4 zend解密核心代码分享
  14. java实现顺时针螺旋填入
  15. 分布式算法原理(转)
  16. Fiddler工具使用与配置 【实例整理】
  17. 学习gm-crypt和sm-crypto加密解密的一天
  18. 微信小程序自学笔记-----文本和字体样式设置
  19. FLUKE完整的光纤检验工具包 (FTK1475)
  20. IT人员,过来清凉一夏,嘎嘎

热门文章

  1. ASP.NET常见命名空间及其功能描述
  2. Pin API INS
  3. 蓝牙配对码配置错误_漏洞问题频发,你还敢开你的蓝牙吗?
  4. html t调整字间距,网页中怎t样调整行间距及字横向间距20120726.doc
  5. 实现一个导航栏,鼠标滑入滑出效果展示。点击每个导航栏菜单,分别弹出对应内容
  6. 夏季晒黑如何变白?店湾妹教你几招,皮肤回归白嫩
  7. CVPR_2021_Fast-GANFIT: Generative Adversarial Networkfor High Fidelity 3D Face Reconstruction
  8. .bat 文件打开软件
  9. Android端集成支付宝支付
  10. 使用switch-case来实现银行存款问题 计算存款利息。有N元,想存M年。有3种方法可选: (1)活期,年利率为r1 0.36% (2)一年期定期,年利率为r2 2.25% 从键盘获取存款年