问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android网络请求加密机制

发布网友 发布时间:2022-12-03 19:18

我来回答

1个回答

热心网友 时间:2023-04-22 11:34

密码学的三大作用:加密( Encryption)、认证(Authentication),鉴定(Identification)

加密 :防止坏人获取你的数据。 

鉴权 :防止坏人假冒你的身份。

认证 :防止坏人修改了你的数据而你却并没有发现。

1. URLEncode和URLDecoder 作用:URLEncode就是将URL中特殊部分进行编码。URLDecoder就是对特殊部分进行解码。

为什么URL要encode原因呢?

url转义其实也只是为了符合url的规范而已。因为在标准的url规范中 中文和很多的字符 是不允许出现在url中的。

2. Base64编码

为什么要进行Base64编码?

在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。

应用场景:主要是对于二进制数据进行编码,(文件、图片、加密后的二进制数据)

3. 消息认证算法

要确保加密的消息不是别人伪造的,需要提供一个消息认证码(MAC,Message authentication code) 。 

消息认证码是带密钥的hash函数,基于密钥和hash函数(单向散列函数)。

密钥双方事先约定,不能让第三方知道。

消息发送者使用MAC算法计算出消息的MAC值,追加到消息后面一起发送给接收者。 

接收者收到消息后,用相同的MAC算法计算接收到消息MAC值,并与接收到的MAC值对比是否一样。

消息认证码的作用:检查某段消息的完整性,以及作身份验证。

防止重放 攻击可以有 3 种方法:

序号

每条消息都增加一个递增的序号,并且在计算 MAC 值的时候把序号也包含在消息中。这样攻击者如果不破解消息认证码就无法计算出正确的 MAC 值。这个方法的弊端是每条消息都需要多记录最后一个消息的序号。

时间戳

发送消息的时候包含当前时间,如果收到的时间与当前的不符,即便 MAC 值正确也认为是错误消息直接丢弃。这样也可以防御重放攻击。这个方法的弊端是,发送方和接收方的时钟必须一致,考虑到消息的延迟,所以需要在时间上留下一定的缓冲余地。这个缓冲之间还是会造成重放攻击的可趁之机。

nonce

在通信之前,接收者先向发送者发送一个一次性的随机数 nonce。发送者在消息中包含这个 nonce 并计算 MAC 值。由于每次 nonce 都会变化,因此无法进行重放攻击。这个方法的缺点会导致通信的数据量增加。

4. 对称加密算法

特点:加解密只有一个密钥。优点:速度快、效率高。缺点:密钥交换问题。算法:AES(256字节,主流)、DES(8字节,淘汰)。

密钥交换问题如何解决,MAC同样也有这个问题,可以使用非对称加密传输,或者私下约定,密钥管理中心。

5. 非对称加密

非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密(这个过程可以做数字签名) 。 非对称加密主要使用的是RSA算法。

特点:公/私钥机制。优点:只需要交换公钥,安全。缺点:加解密速度慢,特别是解密。算法:RSA。应用:数字签名。

数字签名 :

简单解释:

A:将明文进行摘要运算后得到摘要(消息完整性),再将摘要用A的私钥加密(身份认证),得到数字签名,将密文和数字签名一块发给B。

B:收到A的消息后,先将密文用自己的私钥解密,得到明文。将数字签名用A的公钥进行解密后,得到正确的摘要(解密成功说明A的身份被认证了)。

数字证书 :

6. Android端 AES+RSA结合实践

基本流程

Android端

服务器端

基本上如下图所示的流程:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孩子依赖性太强,妈妈怎么办?目录 孩子对妈妈依赖性太强怎么办 介绍权利的游戏里龙之母全名是什么? 澳洲血橙胶原蛋白是玻璃瓶的吗? 梦见母亲侄子妹妹舅妈电话破屋的预兆 梦见坐别人的车什么意思 有多少人去拜过“龙母”,又有几人知道“龙母”是真的存在过 龙母庙地址在哪里? 龙母像地址在哪里? 龙姥姥是龙母娘娘吗 为了攻击mac算法,需要恢复密码吗 mac高速算法可以说苹果系统算法吗 the saem得鲜卧蚕笔怎么用?得鲜卧蚕笔使用方法 卧蚕笔的正确使用方法 卧蚕笔是做什么用 瑜伽的呼吸方法以及要领 瑜伽如何配合呼吸 最专业的佛山惠普打印机售后服务电话是多少? 筋膜炎有好的治疗方法吗 没想到瓷砖阳角还可以这样处理,我家后悔做了倒角 怎样处理墙面瓷砖的直角接缝更美观?看看装修老师傅怎么处理阳角 筋膜炎吃什么药好 风神a601.6保养可以在东风日产 东风风神a601.6的可以装定速巡航吗 东风风神a601.6豪华型有没有黑色 《画江湖之不良人》中李存瑁实力如何?为什么他会被镜心魔这么菜的人杀死? 中级会计准考证打印入口从哪进入? 英雄联盟的犯罪率是多少 想开一家文印店面,做些打印复印、名片、宣传画册、小型广告之类…只有两万块左右。 有好的维修师傅推荐吗? 从网上找家电维修师傅靠谱吗? 请问师傅级的电脑维修这行怎么样? 太阳能热水器洗澡把插头拔了安全吗? 家里楼房是新买的,太阳能热水器在冬天需要用电加热水,请问拔掉插座洗澡是不是会很安全,保证不会触电 名字起什么最好 是不是所有的太阳能热水器都要拉电源才能洗澡? 火荧视频桌面怎么不动 火荧视频桌面不动的原因 didilove蒂爱网代理的货源怎样?我想做网店代理!谢谢! 蒂爱浴盆为什么那么贵 老庙黄金515一克,包括手工费么 老庙e3足金和e5足金有啥区别 好声音黄渤爱与愁 爱与愁还有年少的执着是什么歌 爱与愁是哪个电影的插曲 华为matebooke2019高通850能刷安卓吗 用快传传的视频在文件夹哪里 nike喷和泡哪个好?耐克喷和泡的区别 耐克喷泡气垫爆了怎么办 有修复办法 抖音直播蓝光是多少分辨率 扇环的面积公式,是公式 中餐摆台适合什么旗袍,学生穿 酒吧玻璃杯往下按就出啤酒是什么原理?