加密技术在移动开发中的应用

随着移动开发风起云涌,移动支付等受到广泛的应用,移动安全越来越被人们重视。移动安全的核心自然是通过数据加密保证数据安全。


以下是自己在项目中的一些总结和感悟:

1.由于http协议是不对数据进行加密的,所以通过简单的urlEncode或者BASE64进行编码,防止数据进行明文传输。

2.对于普通请求或者返回数据,生成MD5检校(MD5中加入动态秘钥)进行数据完整性检验,安全性较低,优点是快速。主要目的是防止数据被篡改,防止网络爬虫。

3.对于重要数据,使用RSA进行数字签名或者使用DES加密。

4.对于登陆注册,信息安全十分关键。首先我们使用https协议,构建信息传输的安全通道。其次,对密码进行SHA1签名,将个人信息进行DES加密。


以下对加密技术进行一下解释:

BASE64:

要求把每三个8bit的字节转换为四个6bit的字节,其中,转换之后的这四个字节中每6个有效bit为有效数据,空余的那两个bit用0补成一个字节,是网络上最常用的用于传输8bit字节代码的编码方式之一。

urlEncode:

将字符串以url编码。原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。

MD5:

将任意长度的“字符串”变换成一个128bit的大整数。是hash算法的一种,基于MD4,是不可逆的字符串变换算法。具有不可逆、高度离散性和几乎唯一的特点。

SHA1:

基于MD5,对长度小于264的输入,产生长度为160bit的散列值,是一种应用最为广泛的hash算法。

RSA:

RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。它的安全性依赖于大数的因式分解。缺点为产生秘钥麻烦,运算效率低。

DES:

为密码体制中的对称密码体制。入口参数有三个,为key、data、mode,其中key为8个字节共64位,是DES的工作秘钥;Data也为8个字64位,是要被加密或被解密的数据;Mode为DES的工作方式,为加密或者解密。DES安全性极高、速度很快。AES是DES的升级版。


RSA简介

点击打开链接


你可能感兴趣的:(移动开发,数据加密)