网络上明文传输时 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 编码算法