VUE中封装和使用AES加密解密

1.安装:crypto-js

npm install crypto-js --save-dev

2.封装加解密

  • 在项目中创建aes.js( src/assets/js/aes.js)
import CryptoJS from 'crypto-js/crypto-js'
// 默认的 KEY 与 iv 如果没有给
const key = CryptoJS.enc.Utf8.parse("123456");//""中与后台一样  密码
const iv = CryptoJS.enc.Utf8.parse('654321');//""中与后台一样  偏移量
/**
 * AES加密 :字符串 key iv  返回base64
 */
export function Encrypt(word) {
  let srcs = CryptoJS.enc.Utf8.parse(word);
  var encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return CryptoJS.enc.Hex.stringify(encrypted.ciphertext);
}

/**
 * AES 解密 :字符串 key iv  返回base64
 *  */
export function Decrypt(word) {
  let base64 = CryptoJS.enc.Hex.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();
}

3.在需要加解密的页面中调用

  • 在线AES加密解密(工具):http://tool.chacuo.net/cryptaes
  • 对应参数【AES加密模式:CBC,填充:pkcs7padding,数据块:128、密码:123456、偏移量:654321、输出:Hex、字符集:Utf8】
import {Decrypt,Encrypt} from '@/assets/js/utils.js'
mounted() {
	// Encrypt 加密
	console.log(Eecrypt('123456'));
	// Decrypt 解密
	console.log(Decrypt('123456'));
},
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值