美文网首页
vue中使用AES加密

vue中使用AES加密

作者: 我是七月 | 来源:发表于2024-10-07 18:13 被阅读0次

安装crypto-js

yarn add crypto-js

在utils下新建aes.js文件

import CryptoJS from 'crypto-js';
const keyStr = '12345678abcdefgh';

// 加密
export const encryptData = (word) => {
  const key = CryptoJS.enc.Utf8.parse(keyStr);
  const srcs = CryptoJS.enc.Utf8.parse(word);
  const encrypted = CryptoJS.AES.encrypt(srcs, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  });
  return encrypted;
};

// 解密
export function decryptData(word) {
  var key = CryptoJS.enc.Utf8.parse(keyStr);
  var decrypt = CryptoJS.AES.decrypt(word, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  });
  return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}

// 加密-Hex
export function encryptHex(word) {
  const encrypted = encryptData(word);
  return encrypted.ciphertext.toString();
}

// 加密-Base64
export function encryptBase64(word) {
  const encrypted = encryptData(word);
  return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}

// 解密-Hex
export function decryptHex(hexWord) {
  const wordArray = CryptoJS.enc.Hex.parse(hexWord);
  const base64Word = CryptoJS.enc.Base64.stringify(wordArray);
  return decryptData(base64Word, keyStr);
}

相关文章

网友评论

      本文标题:vue中使用AES加密

      本文链接:https://www.haomeiwen.com/subject/dlsvrjtx.html