<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          vue AES加密(超詳細)

          2021-5-27    前端達人

          第一步:

          
          
          1. //安裝
          2. npm install crypto-js --save-dev

          第二步:在src目錄下新建個放公用js文件夾(common),再建一個AES.js文件,例如:

          第三步:在AES.js中填寫如下代碼,key密鑰長度則可以是128,192或256位(默認情況下是128位),正常情況下固定16位數即可

           
          
          1. import CryptoJS from 'crypto-js';
          2. export default {
          3. //隨機生成指定數量的16進制key
          4. generatekey(num) {
          5. let library = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
          6. let key = "";
          7. for (var i = 0; i < num; i++) {
          8. let randomPoz = Math.floor(Math.random() * library.length);
          9. key += library.substring(randomPoz, randomPoz + 1);
          10. }
          11. return key;
          12. },
          13. //加密
          14. encrypt(word, keyStr) {
          15. keyStr = keyStr ? keyStr : 'abcdsxyzhkj12345'; //判斷是否存在ksy,不存在就用定義好的key
          16. var key = CryptoJS.enc.Utf8.parse(keyStr);
          17. var srcs = CryptoJS.enc.Utf8.parse(word);
          18. var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
          19. return encrypted.toString();
          20. },
          21. //解密
          22. decrypt(word, keyStr) {
          23. keyStr = keyStr ? keyStr : 'abcdsxyzhkj12345';
          24. var key = CryptoJS.enc.Utf8.parse(keyStr);
          25. var decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
          26. return CryptoJS.enc.Utf8.stringify(decrypt).toString();
          27. }
          28. }

          第四步:在需要的地方引入

          import AES from "@/common/AES.js";

          第五步:調用

           
          
          1. // var keys = AES.generatekey(16);
          2. //如果是對象/數組的話,需要先JSON.stringify轉換成字符串
          3. // 不傳key值,就默認使用上述定義好的key值
          4. var encrypts = AES.encrypt(JSON.stringify(cars));
          5. var dess = JSON.parse(AES.decrypt(encrypts));
          6. // var encrypts = AES.encrypt('1234asdasd');
          7. // var dess = AES.decrypt(encrypts);
          8. console.log(encrypts)
          9. console.log(encrypts.length)
          10. console.log(dess)

           

           

          特別提示:當解密的時候是為空的時候(也沒有報錯),那么就一定是你的key長度不符合規范, 可以調整為key長度為16位。

           


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

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


          文章來源:csdn   

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.

          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

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



          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合