• RSA实现前端数据加密


    一、前言

       一般在登录注册的时候,不能以明文的方式传递数据到后台,如果是http下,很容易被劫持。所以对数据进行加密是常规做法。

    二、RSA算法

      ”RSA加密算法是一种非对称加密算法。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。”----来自度娘

    三、前端使用

      下载第三方js库来使用RSA。下载地址

    import _rsa from 'rsa'
    import publikey fom '../component/key'
    const rsa = new (_rsa.RSA)
    
    //设置公钥
    rsa.setPublicKey(key);
    
    //传给后台
    params: {
         userid:this.userId,
         password : rsa.encrypt( this.password ),
     }

    说明:有一对像相对应的公钥和私钥匙,服务器获得公钥加密之后的密码,再用用对应的私钥打开。私钥一般放在服务器上面,只有我们自己知道。这样就可以做到,即使密码被拦截,攻击者也很难破解密码。

    四、node-crypto模块加密

    const crypto = require('crypto');
    
    const secret = '123456';
    const hash = crypto.createHmac('sha256', secret)
                       .update('I love cupcakes')
                       .digest('hex');
    console.log(hash);
    
    //3d75d8ac4218af38afa74989472d87cbe2e706c67d19b7d0508a12b9ebc4d8e9
    

      

  • 相关阅读:
    简易聊天客户端程序
    java 多线程使用方法及Socket的使用
    跟着音乐节奏随机的产生不同颜色形状的图形
    移动小圆圈
    在一个frame设置四个组件
    触发按钮改变panel面板上的小圆圈颜色
    借助bootstrap框架模仿airbnb写的网页
    攻击DotCom小游戏
    mit java open course assignment #4
    FPS 游戏实现GDI透视
  • 原文地址:https://www.cnblogs.com/leaf930814/p/9000346.html
Copyright © 2020-2023  润新知