关于数据安全RSA,MD5,TOKEN

网络上明文传输时 1.数据可能被窃取;2.数据可能被篡改;3.数据被泄露
如何解决:
1.数据被窃取是由于数据能随意的被拿到,且能够被识别。可以有2个方式解决
a.使数据不能随意被获取;  使用token令牌的方式。
b.数据就算被拿到了也无法解析;	RSA非对称加密。为什么不适用对称加密 DES ? 对称加密的数据容易被做成彩虹表。
如果采用非对称加密了,那么我们自己不是也不知道原始数据了吗,所以我们只针对不需要解密的数据进行RSA加密,如密码。需要校验密码时,只需要拿密文比较就可以了。
那其他业务数据怎么防止窃取就只能通过token的方式了。


2.数据被篡改的前提是数据被窃取了,如果我们不对窃取做控制,需要对篡改做防范,怎么做?
a.只要保证用户传递的数据是真实的就可以了,怎么保证,使用混淆算法 MD5加盐的方式,在服务端以相同规则对数据进行MD5加盐的方式得到数据串来与用户传过来的字符串比较,一致说明数据未篡改。

3.数据泄露问题
大量数据被非授权人获取。
a.授权获取
b.流量限时控制
虽然不能完全杜绝问题,但是可以很好的防范一些数据被泄露。

其实上面的三种方式已经很常见的运用到我们的项目中了,对于登陆,注册接口是对外开放的,是无授权的接口,那么我们采用的是 RSA 防泄露,MD5加盐防篡改;
对于业务接口我们做token访问,限时刷新,且做流量控制。

请求 
第三方平台--》明文信息--》公钥加密--》密文信息--》私钥解密--》明文信息--》后台服务
响应 HTTPS 的数据加解密流程,采用的也是RSA
后台服务--》明文--》公钥加密--》密文--》浏览器--》私钥解密--》明文--》显示

注意:在做RSA加密的时候,加密之后的数据是二进制无法在网络上传输,所以需要使用BASE64编码成字符串。
名词解释: 
RSA 非对称加解密算法
MD5 混淆算法
token 访问令牌
base64 编码算法

  

原文地址:https://www.cnblogs.com/yun965861480/p/10793276.html