<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JS登錄密碼基于token和CryptoJS加密處理方法

      1.登錄前先請求,獲取一個(gè)token,也可以在本地寫死
      暫且叫登錄token,用來給登錄時(shí)密碼的加密

      async getToken(){
          const {data:token} = await getToken()         
          // token : eaaaaaaaaaIUzI1NiJ9.eyJ1aWQiOiJDRTY3,例如這樣的
          this.token = token
      }

      2.使用登錄token,通過CryptoJS給password加密

      ps:當(dāng)然要和后端商量好. npm i crypto-js

      // 記得導(dǎo)入
      let CryptoJS = require('crypto-js');
       
       
       
      // 規(guī)定截取登錄token的多少位
      let key = CryptoJS.enc.Utf8.parse(this.token.substr(0, 30));
      // 拿到登錄時(shí)輸入的密碼
      let srcs = CryptoJS.enc.Utf8.parse(this.password);
      // 加密方式
      let encrypted = CryptoJS.AES.encrypt(srcs, key, {
          mode: CryptoJS.mode.ECB,
          padding: CryptoJS.pad.Pkcs7
      });
       
      let data = {
          name:this.name,
          // 這樣即可完成加密
          password:encrypted.toString(),
          token:this.token
      }
       
      // 請求登錄即可
      this.goLogin(data)

       

      3.解密(后端完成即可)
      ps: key和配置信息一定要溝通成完全一樣,才能解密成功

      // pwd 即為加密后的密碼。 例如 5CSUSaG2vhvoITJESgTR6A==
       
      let key = CryptoJS.enc.Utf8.parse(this.token.substr(0, 30));
       
      let decrypted = CryptoJS.AES.decrypt(this.pwd, key, {
           mode: CryptoJS.mode.ECB,
           padding: CryptoJS.pad.Pkcs7
      });
       
       
      // 獲得解密后的密碼
       
      let resPwd = decrypted.toString(CryptoJS.enc.Utf8)

       

      4.登錄

      // 登錄請求
      async goLogin(data){
          const {data:res} = await goLogin(data)
          
          // 成功后,拿到用戶token,把token寫入session中
          window.sessionStorage.setItem('token', res.token);
          
      }

       

      5.在請求攔截中設(shè)置,每次請求時(shí)帶上token

      ajax.interceptors.request.use(config => {
        // headers加參數(shù)
        let token = window.sessionStorage.getItem('token');
        config.headers.common['x-access-token'] = token;
        return config;
      },(error) => {
        console.log(erroe)
      });


      6.后端拿到token
      解密token獲得userId , 根據(jù)需要 返回前端需要的數(shù)據(jù)

      用戶下次再請求時(shí) , 如果token還在有效期內(nèi),不需要重新登陸

      posted @ 2022-11-17 20:37  大數(shù)據(jù)從業(yè)者FelixZh  閱讀(889)  評論(0)    收藏  舉報(bào)
      大數(shù)據(jù)從業(yè)者
      主站蜘蛛池模板: 亚洲一区二区三区影院| 国产精品无码无卡在线播放| 国产极品尤物粉嫩在线观看| 波多野结衣高清一区二区三区 | 国产AV巨作丝袜秘书| 成人欧美一区二区三区在线观看| 第一精品福利导福航| 国产精品久久久久久爽爽爽| 亚洲暴爽av人人爽日日碰| 国产精品二区中文字幕| 草裙社区精品视频播放| 久久婷婷成人综合色| 亚洲精品漫画一二三区| 97久久人人超碰国产精品| 国产欧美日韩高清在线不卡| 亚洲一区二区三区蜜桃臀| 一本色道国产在线观看二区| 午夜免费无码福利视频麻豆| 国产精品自在自线视频| 国内精品久久人妻无码不卡 | 久久本道综合久久伊人| av亚洲在线一区二区| 成人免费无码大片A毛片抽搐色欲| 国产超碰人人做人人爱ⅴa| 国产成人精品亚洲高清在线| 国产精品国三级国产av| 国产乱码一区二区三区| 国产精品午夜福利免费看| 9l精品人妻中文字幕色| 久久久这里只有精品10| 亚洲乱理伦片在线观看中字| 日韩亚av无码一区二区三区| 国产日韩精品一区二区在线观看播放| 国产精品天干天干综合网| 免费无码午夜理论电影| 亚洲va久久久噜噜噜久久狠狠| 亚洲午夜无码av毛片久久| 一本色道久久综合熟妇人妻| 国产AV影片麻豆精品传媒| 鲁一鲁一鲁一鲁一澡| 一区二区不卡国产精品|