前端CryptoJS加解密

import CryptoJS from 'crypto-js';
const secretKey = CryptoJS.enc.Utf8.parse('asqwdjjfwnlgi');

// 加密函数
export function encryptData(data) {
  let srcs = CryptoJS.enc.Utf8.parse(data);
  let encrypted = CryptoJS.AES.encrypt(srcs, secretKey, {
    iv: secretKey,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}

// 解密函数
export function decryptData(ciphertext) {
  var encrypted = CryptoJS.enc.Base64.parse(ciphertext);
  let src = CryptoJS.enc.Base64.stringify(encrypted);
  const bytes = CryptoJS.AES.decrypt(src, secretKey, {
    iv: secretKey,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return bytes.toString(CryptoJS.enc.Utf8);
}

// 使用示例

// const encryptedData = encryptData(data);
// console.log('Encrypted data:', encryptedData);

// const decryptedData = decryptData(encryptedData);
// console.log('Decrypted data:', decryptedData);
import { decryptData, encryptData } from '@/utils/crypto';

 console.log(encryptData('Hello'), '加密');
    let v = encryptData('Hello')
    console.log(decryptData(v),'解密1')

// 打印

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CryptoJS是一个纯JavaScript的加密算法类库,可以在前端进行加解密操作。它支持多种加密算法,包括MD5、SHA-1、SHA-256、AES、RSA等。使用CryptoJS可以很方便地进行数据加密和解密操作。以下是使用CryptoJS进行AES加密和解密的示例代码: 1. 引入CryptoJS库文件 ```html <script src="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script> ``` 2. AES加密 ```javascript // 待加密的数据 var data = "Hello, world!"; // 密钥 var key = "1234567890abcdef"; // 将密钥转换为WordArray对象 var keyHex = CryptoJS.enc.Hex.parse(key); // 加密 var encrypted = CryptoJS.AES.encrypt(data, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); // 将密文转换为Base64编码的字符串 var ciphertext = encrypted.toString(); console.log(ciphertext); // 输出:U2FsdGVkX1+JzvzjJQzvJgJZJzvJgJZJzvJgJZJzvJg= ``` 3. AES解密 ```javascript // 密钥 var key = "1234567890abcdef"; // 将密钥转换为WordArray对象 var keyHex = CryptoJS.enc.Hex.parse(key); // 密文 var ciphertext = "U2FsdGVkX1+JzvzjJQzvJgJZJzvJgJZJzvJgJZJzvJg="; // 将密文转换为WordArray对象 var ciphertextHex = CryptoJS.enc.Base64.parse(ciphertext); // 解密 var decrypted = CryptoJS.AES.decrypt({ ciphertext: ciphertextHex }, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); // 将解密后的数据转换为UTF-8编码的字符串 var plaintext = decrypted.toString(CryptoJS.enc.Utf8); console.log(plaintext); // 输出:Hello, world! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值