Android 数据加密

本文介绍如何利用加密技术保障网络数据传输的安全性,包括对称加密、公钥加密及单向加密的方法及其应用场景,并提出一种结合AES与RSA的加密方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过网络传输数据,需要保证数据的完整性、保密性,以及能够对数据的发送者进行身份验证。这些都需要通过一些加密算法实现。

对称加密
加密和解密使用同一个密钥,特点:保证了数据的保密性。局限性:无法解决密钥交换问题。常用的算法有:DES,3DES,AES;

公钥加密
生成一个密钥对(私钥和公钥),加密时用私钥加密,解密时用公钥解密,特点:解决了密钥交换问题。局限性:对大的数据加密速度慢。

单向加密:
提取数据的特征码,特点:定长输出,不可逆,可检验数据的完整性。局限性:无法保证数据的保密性。常用算法:MD5、SHA1、CRC-32。

三种加密方法各有优缺点,在时实际应用中,数据从发送方到达接收方,通常是这样应用的:

1) 首先对要发送的数据做单向加密,获取数据的特征码

2) 对特征码用发送方的私钥进行加密生成S1;

3) 然后对S1和数据进行对称加密生成S2;

4) 最后将S2和对称加密的密码使用接收方的公钥进行加密。

这样一来数据在传输过程中的完整性、保密性以及对发送方身份的验证都能得到保障。

当数据到达接收方时,接收方先用自己的私钥对接收到的数据进行解密,得到密码和加密的数据;使用密码对加密数据解密,得到加密的特征码和数据;用发送方的公钥解密特征码,如果能解密,则说明该数据是由发送方所发;反之则不是,这便实现了身份验证;最后计算数据的特征码和解密出来的特征码做对比,如果一样,则该数据没有被修改;反之则数据被修改过了

1、混淆文件:推荐 http://www.jianshu.com/p/f3455ecaa56e
2、加固:APP加固,常用的有:360加固宝,爱加密等
3、HTTPS:现在很多APP都用HTTPS作为网络传输的保证,防止中间人攻击,提高数据传输的安全性(用Retrofit的网络请求框架的,要加上HTTPS也不是什么难事,推荐 http://www.jianshu.com/p/16994e49e2f6 ,这里说的HTTPS是指自签的)
4、没用HTTPS的话,为了确保传输安全,还需对传输的数据进行加密,这里我推荐用AES+RSA进行加密,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值