程序员的资源宝库

网站首页 > gitee 正文

vue aes vue AES解密

sanyeah 2024-03-29 17:53:01 gitee 7 ℃ 0 评论

npm install crypto-js

import CryptoJS from "crypto-js/crypto-js";
const KEY = CryptoJS.enc.Utf8.parse("xxx");
const IV = CryptoJS.enc.Utf8.parse("xxxx");

methods:

 
      Encrypt(word, keyStr, ivStr) {
        let key = KEY;
        let iv = IV;

        if (keyStr) {
          key = CryptoJS.enc.Utf8.parse(keyStr);
          iv = CryptoJS.enc.Utf8.parse(ivStr);
        }

        let srcs = CryptoJS.enc.Utf8.parse(word);
        var encrypted = CryptoJS.AES.encrypt(srcs, key, {
          iv: iv,
          mode: CryptoJS.mode.CBC,
          padding: CryptoJS.pad.Pkcs7
        });
        // console.log("-=-=-=-", encrypted.ciphertext)
        return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
      },
      /**
       * AES 解密 :字符串 key iv  返回base64
       *
       */
      Decrypt(word, keyStr, ivStr) {
        let key = KEY;
        let iv = IV;

        if (keyStr) {
          key = CryptoJS.enc.Utf8.parse(keyStr);
          iv = CryptoJS.enc.Utf8.parse(ivStr);
        }

        let base64 = CryptoJS.enc.Base64.parse(word);
        let src = CryptoJS.enc.Base64.stringify(base64);

        var decrypt = CryptoJS.AES.decrypt(src, key, {
          iv: iv,
          mode: CryptoJS.mode.CBC,
          padding: CryptoJS.pad.Pkcs7
        });

        var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
        return decryptedStr.toString();
      },

 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表