实现Aes加解密

实现Aes加解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import CryptoJS from 'crypto-js'

//注意key和iv为16进制,不能为非16进制字符
const keyHex = CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxxxx");
const iv = CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxxxx");

function encode(msg){
const encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(msg), keyHex, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString();
}

function decode(enc){
let decrypt = CryptoJS.AES.decrypt(enc, keyHex, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}

export default {
encode,
decode
}


实现Aes加解密
https://tian-1-2.github.io/typblog/2022/10/24/20221024-实现Aes加解密/
作者
田云鹏
发布于
2022年10月24日
许可协议