zoukankan      html  css  js  c++  java
  • 关于数据安全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 编码算法

      

  • 相关阅读:
    rtsp+rtmp多路流媒体播放
    videojs+hls+rtmp流媒体播放
    JavaScript——问卷星自动填写
    js中不同类型作比较
    CSS——div内文字的溢出部分用省略号显示
    Python调用DLL动态链接库——ctypes使用
    VS2017+QT5.12环境配置与动态链接库的生成
    pywebview gui='cef' 生成app报错—— 中断点 已到达中断点
    css3 background-size属性--ie兼容
    一个Nice的生活主题博客模板
  • 原文地址:https://www.cnblogs.com/yun965861480/p/10793276.html
Copyright © 2011-2022 走看看