实习日记6/8

今天好困好困。。。。现在坐在办公书脑子都感觉是飘的。。。睡又睡不着

希望快点到午休的时候,可以睡觉觉,不行现在还是眯一会儿,我好怕我就猝死了

todolist:

1、调接口,看代码

记录:

1、用到了Array.map()方法

map()方法 
语法:array.map(function(currentValue,index,arr), thisValue) 其中 callback为数组中每个元素执行的函数,该函数可接受1-3个参数: 
  currentvalue参数表示数组的当前元素项,必须的参数   index参数表示的当前元素下标,可选参数   arr参数表示当前元素所属的数组,可选参数 
thisValue表示执行回调函数callback()时的this指向。可选参数。当不写时,则默认是指向window全局 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
 

let data = {
        uuid_list: this.propData.map(item => item.uuid)
      };

产生一个item.uuid的新数组赋值给uuid_list

2、关于密码的加密

什么是RSA加密

RSA加密算法是一种 非对称加密算法 ,RSA加密使用了"一对"密钥.分别是公钥和私钥,这个公钥和私钥其实就是一组数字!其二进制位长度可以是1024位或者2048位.长度越长其加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,只要高于768位,相对就比较安全.所以目前为止,这种加密算法一直被广泛使用.

前端利用jsencrypt.js(库)进行RSA加密。

jsencrypt介绍

jsencrypt就是一个基于rsa加解密的js库

使用方法

安装

npm install jsencrypt

引入

import JSEncrypt from 'jsencrypt'

rsa加密

var encryptor = new JSEncrypt()  // 创建加密对象实例
  //之前ssl生成的公钥,复制的时候要小心不要有空格
  var pubKey = '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1QQRl0HlrVv6kGqhgonD6A9SU6ZJpnEN+Q0blT/ue6Ndt97WRfxtSAs0QoquTreaDtfC4RRX4o+CU6BTuHLUm+eSvxZS9TzbwoYZq7ObbQAZAY+SYDgAA5PHf1wNN20dGMFFgVS/y0ZWvv1UNa2laEz0I8Vmr5ZlzIn88GkmSiQIDAQAB-----END PUBLIC KEY-----'
  encryptor.setPublicKey(pubKey)//设置公钥
  var rsaPassWord = encryptor.encrypt('要加密的内容')  // 对内容进行加密

目前的应用场景是在用户注册或登录的时候,用公钥对密码进行加密,再去传给后台,后台用私钥对加密的内容进行解密,然后进行密码校验或者保存到数据库。

项目代码:发送请求的的时候使用了加密

submit () {
      this.$refs.form.validate(async (isValid) => {
        if (!isValid) return;

        let formData = { ...this.form };
        const service = this.isEditor ? poolService.editorPool : poolService.registerPool;
        let encrypt = new JSEncrypt({ default_key_size: 2048 });
        encrypt.setPublicKey(this.publicKey);
        formData.password = encrypt.encrypt(formData.password);
        const result = await service(formData).catch(err => ({ err })).then(name => ({ name }));
        if (!result || result.err) return this.showErrorMessage(result.err, `${this.isEditor ? '更新' : '注册'}存量服务器`);
        this.$message.success(`存储池${formData.name}${this.isEditor ? '更新' : '注册'}成功`);
        this.returnToList();
      });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值