• <abbr id="chdyf"></abbr>
    <ruby id="chdyf"><acronym id="chdyf"><meter id="chdyf"></meter></acronym></ruby>
    <bdo id="chdyf"></bdo>
    <dfn id="chdyf"><menu id="chdyf"></menu></dfn>
    1. <menuitem id="chdyf"></menuitem><strong id="chdyf"><menu id="chdyf"></menu></strong>

      <rt id="chdyf"><menu id="chdyf"></menu></rt>
      成人小说一区二区三区,伊人精品成人久久综合全集观看,久久HEZYO色综合,中文字幕精品人妻熟女,影音先锋成人网站,我要看免费一级毛片,中国女人做爰A片,中文字幕av久久爽Av

      VueJs里利用CryptoJs實(shí)現(xiàn)Md5加密和3Des加密及解密

      2021-5-18    前端達(dá)人

      前言

      前我們介紹的用于vue用于數(shù)據(jù)簽名的操作,《【干貨】Vue TypeScript根據(jù)類生成簽名字符串》,其目的就是用于生成這個(gè)再轉(zhuǎn)MD5加密的模式進(jìn)行校驗(yàn),原來我們?cè)贑#和Android里面已經(jīng)實(shí)現(xiàn)這些方式,因?yàn)榍岸藴?zhǔn)備用Vue來做,所以加密這塊少不了也需要實(shí)現(xiàn)的。

      安裝Crypto

      Crypto里面可以把md5和3des都一起做了,所以我們直接安裝這個(gè)比較方便

      找到我們的程序目錄,按住Shift加鼠標(biāo)右鍵,選擇在此處打開Powershell窗口

      然后在cmd窗口里面輸入npm install crypto-js -save-dev 

      安裝完成后可以看到紅框下面標(biāo)注著成功了。


      代碼演示


      MD5加密

      我們還是用上次簽名的那個(gè)項(xiàng)目里面,首先要先引用Crypto-js


      getmd5,我們?cè)賹懸粋€(gè)GetMd5的方法,傳入的字符串直接生成MD5的字符返回,


      接下來再定義一個(gè)雙向綁定的字符串,在點(diǎn)擊簽名的時(shí)候同時(shí)生成md5的字符串顯示的頁面上

      運(yùn)行后的效果




      3DES加密、解密

      核心代碼

      加密

         Encrypt3Des(str: string, aStrKey: string, ivstr: string): string {
              const KeyHex = CryptoJS.enc.Utf8.parse(aStrKey);
              const encrypted = CryptoJS.TripleDES.encrypt(str,
                  KeyHex,
                  {
                      mode: CryptoJS.mode.CBC,
                      padding: CryptoJS.pad.Pkcs7,
                      iv: CryptoJS.enc.Utf8.parse(ivstr)
                  });
              let hexstr = encrypted.ciphertext.toString().toUpperCase();
              console.log(hexstr);
              return hexstr;
          }

      一般網(wǎng)上的加解密最后紅框這里我們直接是輸出 return encrypted.tostring(),但是因?yàn)槲覀冏约旱腃#和Android的3Des的加解密都是最后輸出的16進(jìn)制的字符串,所以我們改為紅框這里輸出的樣式。



      解密

          Decrypt3Des(str: string, aStrKey: string, ivstr: string): string {
              const KeyHex = CryptoJS.enc.Utf8.parse(aStrKey);
              //因?yàn)槲覀兗用艿臅r(shí)候用到的16進(jìn)制字符串,需要進(jìn)行轉(zhuǎn)換
              //第一步把16進(jìn)制字符串轉(zhuǎn)為WordArray格式
              const WordArray = CryptoJS.enc.Hex.parse(str);
              //第二步把WordArray再轉(zhuǎn)為base64的字符串
              const base64str = CryptoJS.enc.Base64.stringify(WordArray);
              //第三步再進(jìn)行解密
              const decrypted = CryptoJS.TripleDES.decrypt(base64str,
                  KeyHex,
                  {
                      mode: CryptoJS.mode.CBC,
                      padding: CryptoJS.pad.Pkcs7,
                      iv: CryptoJS.enc.Utf8.parse(ivstr)
                  });

              return decrypted.toString(CryptoJS.enc.Utf8);
          }

      這里比較重要就是紅框里面,因?yàn)槲覀兊募用茏詈筝敵龅氖?6進(jìn)制的字符串,所以我們解密的時(shí)候首先要把16進(jìn)制字符串轉(zhuǎn)為WordArray格式,再轉(zhuǎn)換為BASE64的字符串,最后再進(jìn)行解密。因?yàn)槲乙彩莻€(gè)前端小白,就是這個(gè)問題我也是研究了一下午才搞明白。

      最后下面的黃框要注意輸出的字符要轉(zhuǎn)為Utf8。




      其余設(shè)置

      我們?cè)趖est.ts里面定義了兩個(gè)字符串,一個(gè)des3encryptstr的加密后的字符串,一個(gè)des3decryptstr是解密后的字符串,然后又加上了兩個(gè)方法,一個(gè)是加密的方法btnencrypt,一個(gè)是解密的方法btndecrypt,分別調(diào)用的就是我們剛才寫的兩段核心代碼。


      然后在test.vue.html里面加上雙向綁定顯示以及一個(gè)加密按鈕和一個(gè)解密按鈕。


      頁面效果

      未加密的效果

      點(diǎn)擊加密后的效果

      點(diǎn)擊解密后的效果


      藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會(huì)分享國內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請(qǐng)掃碼藍(lán)小助,報(bào)下信息,藍(lán)小助會(huì)請(qǐng)您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請(qǐng)與我們聯(lián)系。

      截屏2021-05-13 上午11.41.03.png


      文章來源:https://my.oschina.net/u/4582134/blog/4582375

      分享此文一切功德,皆悉回向給文章原作者及眾讀者.
      免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請(qǐng)及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

      藍(lán)藍(lán)設(shè)計(jì)www.wtxcl.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)

      日歷

      鏈接

      個(gè)人資料

      存檔

      主站蜘蛛池模板: 97爱色| 亚洲性激情| 印度成人无码AV| 亚洲第一成年网| 女人天堂av| 长沙市| 国产精品无码不卡一区二区三区 | 蜜桃AV在线| 亚洲福利| 亚洲色婷婷综合开心网| 日韩丝袜亚洲国产欧美一区| 99视频国产精品免费观看| 国产v自拍| 无码人妻中文字幕| 宜丰县| 爱啪啪精品一区二区三区| 黑人又大又粗免费视频| 日韩va| 日韩电影在线观看视频| 91精品网站天堂系列在线播放| 国产最新AV在线播放不卡| 精品偷拍| 中文字幕二区| 福利在线视频导航| 亚洲图片视频丝袜| www.亚洲V| 国产精品嫩草影院| 肏屄欧美| 日韩av无码午夜福利电影| 成人无码AV片| 网站美女视频www硬| 色色看片| 亚洲欧美中文日韩AⅤ| 91视频网址| 日韩av偷拍| 国产精品国产自线拍| 中文字幕天天躁日日躁狠狠| 亚洲无码丝袜| 亚洲国产精彩中文乱码av| 欧美成人论坛| 夜夜撸日日干|