• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    VueJs里利用CryptoJs實現Md5加密和3Des加密及解密

    2021-5-18    前端達人

    前言

    前我們介紹的用于vue用于數據簽名的操作,《【干貨】Vue TypeScript根據類生成簽名字符串》,其目的就是用于生成這個再轉MD5加密的模式進行校驗,原來我們在C#和Android里面已經實現這些方式,因為前端準備用Vue來做,所以加密這塊少不了也需要實現的。

    安裝Crypto

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

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

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

    安裝完成后可以看到紅框下面標注著成功了。


    代碼演示


    MD5加密

    我們還是用上次簽名的那個項目里面,首先要先引用Crypto-js


    getmd5,我們再寫一個GetMd5的方法,傳入的字符串直接生成MD5的字符返回,


    接下來再定義一個雙向綁定的字符串,在點擊簽名的時候同時生成md5的字符串顯示的頁面上

    運行后的效果




    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;
        }

    一般網上的加解密最后紅框這里我們直接是輸出 return encrypted.tostring(),但是因為我們自己的C#和Android的3Des的加解密都是最后輸出的16進制的字符串,所以我們改為紅框這里輸出的樣式。



    解密

        Decrypt3Des(str: string, aStrKey: string, ivstr: string): string {
            const KeyHex = CryptoJS.enc.Utf8.parse(aStrKey);
            //因為我們加密的時候用到的16進制字符串,需要進行轉換
            //第一步把16進制字符串轉為WordArray格式
            const WordArray = CryptoJS.enc.Hex.parse(str);
            //第二步把WordArray再轉為base64的字符串
            const base64str = CryptoJS.enc.Base64.stringify(WordArray);
            //第三步再進行解密
            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);
        }

    這里比較重要就是紅框里面,因為我們的加密最后輸出的是16進制的字符串,所以我們解密的時候首先要把16進制字符串轉為WordArray格式,再轉換為BASE64的字符串,最后再進行解密。因為我也是個前端小白,就是這個問題我也是研究了一下午才搞明白。

    最后下面的黃框要注意輸出的字符要轉為Utf8。




    其余設置

    我們在test.ts里面定義了兩個字符串,一個des3encryptstr的加密后的字符串,一個des3decryptstr是解密后的字符串,然后又加上了兩個方法,一個是加密的方法btnencrypt,一個是解密的方法btndecrypt,分別調用的就是我們剛才寫的兩段核心代碼。


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


    頁面效果

    未加密的效果

    點擊加密后的效果

    點擊解密后的效果


    藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

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


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

    分享此文一切功德,皆悉回向給文章原作者及眾讀者.
    免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

    藍藍設計m.lzhte.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.lzhte.cn

    存檔

    主站蜘蛛池模板: 国产免费爽爽视频在线观看| 久久久综合九色综合88| 久久精品无码一区二区三区| 亚洲熟妇精品一区二区| 亚洲激情五月天| 国产91丝袜在线观看| 伊金霍洛旗| 国产免费无遮挡吃奶视频| 91插逼| 久久免费看少妇高潮A片免费| 国产精品网曝门免费视频| 久久人人爽人人人人爽AV| 五月丁香综合网| 亚洲综合成人婷婷五月网址 | 久久精品国产999大香线焦| 国产精品一区二区国产| 午夜AV无码福利免费看网站| 欧美大胆A级视频免费| 孕妇bbwbbwbbwbbw超清| 91精品国产91久久久久久最新| 普安县| mm1313亚洲国产精品无码试看 | 亚洲中文字幕有综合久久| 免费无码毛片一区二区app| 成人一区二区三区蜜臀| 日本黄色成人网站| 亚洲AV福利无码无一区二区| 欧美一区二区精品久久久| 亚洲精品中文字幕乱码二区 | 蜜桃视频中文字幕一区二区三区 | 午夜福利天天射天天干| 精品国产av无码一道| 色婷婷丁香综合激情| 亚洲精品一区二区区别| 一区二区三区极品销魂| 国产精品久久久久久亚洲影视内衣| 国产精品一级av一区二区| 欧美疯狂xxxxbbbb牲交| 精品国产亚洲一区二区三区在线观看 | 日韩美女av二区三区四区| 无码人妻丰满熟妇区五十路在线|